返回列表 發帖

求最大公因數 (輾轉相除法)



試以輾轉相除法,解最大公因數。

本帖隱藏的內容需要回復才可以瀏覽

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5. int x,y,tmp;
  6. re:
  7. cout<<"請依序輸入兩正整數";
  8. cin>>x>>y;
  9. cout<<x<<" "<<y<<"最大公因數";
  10. while(x%y!=0)
  11. {
  12. tmp=x%y;
  13. x=y;
  14. y=tmp;

  15. }
  16. cout<<y<<endl;
  17. cout<<endl;

  18. goto re;

  19. system("pause");
  20. return 0;

  21. }
複製代碼

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x,y,a;
  7.     cout<<"請輸入兩個正整數:";
  8.     cin>>x>>y;
  9.     cout<<x<<"和"<<y<<"的最大公因數是:";
  10.     while(x%y!=0){
  11.        a=x%y;
  12.        x=y;
  13.        y=a;
  14.     }
  15.     cout<<y<<endl;
  16.     cout<<endl;
  17.     system("pause");
  18.     return 0;
  19. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     int x,y,z;
  8.     cout<<"輸入第一個數"<<endl;
  9.     cin>>x;
  10.     cout<<"輸入第二個數"<<endl;
  11.     cin>>y;
  12.     while(x%y!=0){
  13.         z=x%y;
  14.         x=y;
  15.         y=z;
  16.     }
  17.     cout<<"兩數的最大公因數為"<<y<<endl;
  18.     system ("pause");
  19.     goto re;
  20.     return 0;
  21. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x, y, tmp;
  7.     cout<<"請依序輸入兩個正整數: ";
  8.     cin>>x>>y;
  9.     cout<<x<<"與"<<y<<"的最大公因數為: ";
  10.     while(x%y!=0)
  11.     {
  12.         tmp=x%y;
  13.         x=y;
  14.         y=tmp;
  15.     }
  16.     cout<<y<<endl;
  17.     system("pause");
  18.     return 0;
  19. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5. int x,y,z;

  6. cout<<"請依序輸入兩數";
  7. cin>>x>>y;
  8. cout<<x<<","<<y<<"的最大公因數:";
  9. while(x%y!=0)
  10. {
  11. z=x%y;
  12. x=y;
  13. y=z;

  14. }
  15. cout<<y<<endl;



  16. system("pause");
  17. return 0;

  18. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5.     int a,b,tmp;
  6.     cout<<"請依序輸入兩個正整數:"<<endl;
  7.     cin>>a>>b;
  8.     cout<<endl;
  9.     cout<<"對調前: "<<"x="<<a<<",y="<<b<<endl;

  10.     tmp=a;
  11.     a=b;
  12.     b=tmp;

  13.     cout<<"對調後: "<<"x="<<a<<",y="<<b<<endl;


  14. system("pause");
  15. return 0;
  16. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5. int x,y,tmp;
  6. re:
  7. cout<<"請依序輸入兩正整數";
  8. cin>>x>>y;
  9. cout<<x<<" "<<y<<"最大公因數";
  10. while(x%y!=0)
  11. {
  12. tmp=x%y;
  13. x=y;
  14. y=tmp;

  15. }
  16. cout<<y<<endl;
  17. cout<<endl;

  18. goto re;

  19. system("pause");
  20. return 0;

  21. }
複製代碼

TOP

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

TOP

返回列表