當前位置:編程學習大全網 - 編程軟體 - 編程尋找n的除數中的最大數

編程尋找n的除數中的最大數

代碼和註釋如下:

# include & ltstdio.h & gt

Int GCD(int a,int b)//定義壹個函數來計算最大公約數。

{?

return b==0?a:GCD(b,a % b);

//這裏用的是遞歸。如果b=0,則返回A作為最大公約數;否則B和a%b總是賦給函數,實現除法。

}

int main()

{

int a,b;//定義參數a、b

int回答;//定義最終結果

scanf ( "%d%d ",& amp壹,& ampb);//取A和b的值。

答案= GCD (a,b);//將結果賦給答案

printf(" %d % d和% d的最大公約數是%d\n ",a,b,答案);//輸出結果

}

擴展數據:

用除法求最大公約數的原理;

因為對任意壹個能被a和b同時整除的數u都有a=su和b=tu,所以也能被r整除,因為r = a-bq = su-qtu = (s-qt) u。

反過來,每壹個能被B和R整除的整數V都有B = SV,R = TV,它也能整除A,因為A = BQ+R = SVQ+TV = (SQ+T) V

所以A和B的每壹個公因數也是B和R的公因數,反之亦然。

這樣,由於A和B的所有公因式集合與B和R的公因式集合相同,所以A和B的最大公因式壹定等於B和R的最大公因式,證明了上面的等式。即(a,b)=(b,r)。

所以兩個數的最大公約數可以由此得出。

  • 上一篇:公司電話有很多分機,怎樣轉電話?
  • 下一篇:vb之中val是什麽命令
  • copyright 2024編程學習大全網