Board logo

標題: [12/14 作業2]遞迴求最大公因數 [打印本頁]

作者: may    時間: 2024-12-12 22:32     標題: [12/14 作業2]遞迴求最大公因數



試以遞迴的架構實作 求最大公因數 (輾轉相除法)
作者: 陳奕睿    時間: 2024-12-14 20:27

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return n(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cin>>a>>b;
  14.     cout<<"請依序輸入兩個正整數:"<<endl;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 孫苡瑄    時間: 2024-12-14 21:26

本帖最後由 孫苡瑄 於 2024-12-21 15:45 編輯
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return n(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cin>>a>>b;
  14.     cout<<"請依序輸入兩個正整數:"<<endl;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 張馭棋    時間: 2025-1-4 19:47

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int sum(int a,int b)
  4. {
  5.     if(a%b==0)
  6.        return b;
  7.     else
  8.        return sum(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cout<<"請依序輸入兩個正整數:";
  14.     cin>>a>>b;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<sum(a,b)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 鄭至皓    時間: 2025-1-6 16:09

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return n(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cout<<"請依序輸入兩個正整數:"<<endl;
  14.     cin>>a>>b;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl;
  16.     return 0;

  17. }
複製代碼

作者: 鄧塏諺    時間: 2025-1-9 20:36

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return n(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cin>>a>>b;
  14.     cout<<"請依序輸入兩個正整數:"<<endl;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 黃荏澧    時間: 2025-1-10 07:07

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int Ed(int x,int y)
  4. {
  5.         if(x%y==0)
  6.             return y;
  7.         else
  8.             return Ed(y,x%y);
  9. }
  10. int main()
  11. {
  12.     int x,y;
  13.     cout<<"請依序輸入兩個正整數:"<<endl;
  14.     cin>>x>>y;
  15.     cout<<x<<","<<y<<"的最大公因數是"<<Ed(x,y)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 翁品皓    時間: 2025-1-10 19:00

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return n(b,a%b);
  9. }
  10. int main()
  11. {
  12. re:
  13.     int a,b;
  14.     cout<<"請依序輸入兩個正整數:";
  15.     cin>>a>>b;
  16.     cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl<<endl;
  17.     goto re;
  18.     return 0;
  19. }
複製代碼

作者: 翁祐安    時間: 2025-1-10 21:47

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int x,int y)
  4. {
  5.         if(x%y==0)
  6.             return y;
  7.         else
  8.             return n(y,x%y);
  9. }
  10. int main()
  11. {
  12.     int x,y;
  13.     cin>>x>>y;
  14.     cout<<"請依序輸入兩個正整數:"<<endl;
  15.     cout<<x<<"與"<<y<<"的最大公因數為:"<<n(x,y)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 蘇巳權    時間: 2025-1-10 22:03

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int w(int x, int y){
  4.          if(x%y==0)
  5.             return y;
  6.         else
  7.             return w(y,x%y);
  8. }
  9. int main()
  10. {
  11.         int x,y;
  12.         cout<<"請依序輸入兩個正整數: ";
  13.         cin>>x>>y;
  14.         cout<<x<<"與"<<y<<"的最大公因數為: "<<w(x,y)<<endl;
  15.         return 0;
  16. }
複製代碼

作者: 陳子芳    時間: 2025-1-11 10:08

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int c(int a,int b)
  4. {
  5.         if(a%b==0)
  6.             return b;
  7.         else
  8.             return c(b,a%b);
  9. }
  10. int main()
  11. {
  12.     int a,b;
  13.     cin>>a>>b;
  14.     cout<<"請依序輸入兩個正整數:"<<endl;
  15.     cout<<a<<"與"<<b<<"的最大公因數為:"<<c(a,b)<<endl;
  16.     return 0;
  17. }
複製代碼

作者: 陳煒翰    時間: 2025-1-11 10:51

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n(int a,int b)
  4. {
  5.         if(a%b==0)
  6.         return b;
  7.         else
  8.         return n(b,a%b);
  9. }
  10. int main()
  11. {
  12.         int a,b;
  13.         cin>>a>>b;
  14.         cout<<"請依序輸入兩個正整數:"<<endl;
  15.         cout<<a<<"與"<<b<<"的最大公因數為:"<<n(a,b)<<endl;
  16.         return 0;
  17. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2