比如求12和15的最大公約數,取較大數與較小數比較的余數。15%12=3,12%3=0,所以3是它們的最大公約數。具體來說,妳輸入兩個整數M和N,假設M是這兩個數中較大的壹個,M取N的余數,如果結果不為0,就把N的原值賦給M,把M取N的余數的結果賦給N,這樣就得到M和N的壹組新值..用這個新M再對新N進行余數運算。如果結果不是0,那麽把這個N的值賦給M,把這個M-N余數的結果賦給N,直到m%n=0,此時M的值就是原來M和N的最大公約數..最小公倍數=原始連通數除以最大公約數的乘積。
#包括
& ltstdio.h & gt
空的
主()
{
(同Internationalorganizations)國際組織
p,r,m,n;
Printf("請輸入兩個正整數m,n:");
scanf("%d%d ",& ampn & amp;m);
p = n * m;
如果(m & ltn)
{
r = m;
m = n;
n = r;
}
而(n!=0)
{
r = m % n;
m = n;
n = r;
}
Printf("它們的最大公約數是:%d\n ",m);
Printf("他們的最小公約數是:%d\n ",p/m);
}