c語言實踐 求兩個數的最大公約數

2022-02-23 16:05:46 字數 491 閱讀 4281

我的思路是這樣的:比如12和16這兩個數。先理解一下概念,什麼叫最大公約數。就是12有很多個因數,16也有很多個因數,這兩堆因數中有一些重合的因數,在這些重合的因數中找到那個最大的。那麼最大公約數一定是兩個數的公約數,且最大公約數一定再12的因數中尋找的。ok,我們先對12求除所有的因數,那麼需要乙個迴圈,在這個迴圈中每次拿到12的乙個因數,看它是不是16的乙個因數,如果是,那麼說明這個因數就是12和16的乙個公因數,暫時把最大公約數設定為這個公因數,然後進行下次迴圈,如果能找到12和16的又乙個公因數,那麼就把這個公因數設定為最大公約數,直到迴圈結束,直接輸出公因數的值就是最大公約數。

int main()

else

}else

}i++;

} //迴圈結束之後,最後一次修改的那個公因數就是最大公約數

printf("greatest common divisor is %d",great_common_divisor); }

}

求兩個數最大公約數

題目 寫乙個程式,求兩個正數的最大公約數。如1100100210001,120200021,求其最大公約數 分析 設兩個數分別為x,y 求其最大公約數f x,y 如果有x 2 0而y 2不等於0,那麼可以 約簡為f x 2,y 同樣道理適用於y 如果x與y都是偶數,那麼最大公約數可以為f x 2,y...

C語言 求兩個數的最大公約數

求兩個數的最大公約數。最大公約數定義 如果a,b是非零整數,而整數q同時是a,b的因數,我們便把q叫做a,b的公因數。顯然,q的絕對值必然不大於a,b的絕對值的最小者,即 q min 上式表明,兩個非零整數的公因數必只有有限多個,於是,其中一定存在乙個最大的。我們把a,b的所有公因數中最大的乙個公因...

求兩個數的最大公約數

求公約數有多種方法,在這主要介紹兩種方法。1 更相減損之術 以兩數中較大的數減去較小的數,獲得的差與原先較小的數構成新的一對數,在以大的數減去小的數,依次迴圈。用同樣的方法操作,直至產生一對相等的數為止,該數即為最大公約數。include include intmain while n 0 if a...