返回列表 發帖

有哪些因數 (十) - 求最大公因數 (輾轉相除法)

本帖最後由 鄭繼威 於 2022-9-28 20:08 編輯



試以輾轉相除法,解最大公因數。
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {  
  6.     re:
  7.     int x,y,tmp;
  8.     cout<<"請依序輸入兩個正整數: ";
  9.     cin>>x>>y;
  10.     cout<<x<<"與"<<y<<"的最大公因數為: ";

  11.     //看到0才代表輾轉相除法結束
  12.     while(x%y!=0)
  13.     {
  14.         //一直交換
  15.         tmp=x%y;
  16.         x=y;
  17.         y=tmp;   
  18.     }
  19.     cout<<y<<endl<<endl;
  20.     goto re;
  21.     system("pause");
  22.     return 0;   
  23. }
  24. /*
  25.     x   y
  26.     35 / 56 = 0 ... 35
  27.     56 / 35 = 1 ... 21
  28.     35 / 21 = 1 ... 14
  29.     21 / 14 = 1... 7
  30.     14 / 7 = 2 ... 0
  31. */
複製代碼

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表