返回列表 發帖

因數分解 (六) - 兩數求最大公因數

本帖最後由 tonyh 於 2014-12-20 11:03 編輯

讓使用者任意輸入兩個正整數, 求它們的最大公因數.

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x, y, smaller, maxf;
  7.     cout<<"請輸入第一個數: ";
  8.     cin>>x;
  9.     cout<<"請輸入第二個數: ";
  10.     cin>>y;
  11.     smaller=(x<y)?x:y;
  12.     for(int i=1; i<=smaller; i++)
  13.     {
  14.          if(x%i==0 && y%i==0)
  15.          {
  16.               maxf=i;
  17.          }
  18.     }
  19.     cout<<x<<"與"<<y<<"的最大公因數是: "<<maxf<<endl;
  20.     system("pause");
  21.     return 0;
  22. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a,b,small,max;
  7.     cout<<"請輸入第一個數:";
  8.     cin>>a;
  9.     cout<<"請輸入第二個數:";
  10.     cin>>b;
  11.     small=(a<b)?a:b;
  12.     cout<<a<<"與"<<b<<"的最大公因數為";
  13.     int i=1;
  14.     while(i<=small)
  15.     {
  16.         if(a%i==0 and b%i==0)
  17.         {
  18.             max=i;
  19.         }
  20.         i++;
  21.         
  22.     }
  23.     cout<<max<<endl;
  24.    
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x, y, smaller, maxf;
  7.     cout<<"請輸入第一個數: ";
  8.     cin>>x;
  9.     cout<<"請輸入第二個數: ";
  10.     cin>>y;
  11.     smaller=(x<y)?x:y;
  12.     cout<<x<<"與"<<y<<"的公因數有: ";
  13.     for(int i=1; i<=smaller; i++)
  14.     {
  15.          if(x%i==0 && y%i==0)
  16.          {
  17.               maxf=i;
  18.               
  19.          }   
  20.     }
  21.     cout<<x<<"與"<<y<<"的最大公因數是:"<<maxf<<endl;
  22.     system("pause");
  23.     return 0;
  24. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.   int a,d,s,m=0;
  7.   cout<<"請輸入第1個數:"<<endl;
  8.   cin>>a;
  9.   cout<<"請輸入第2個數:";
  10.   cin>>d;
  11.   s=(a<d)?a:d;
  12.   for(int q=1;q<=s;q++)
  13.   {
  14.      if(a%q==0&&d%q==0)     
  15.      {
  16.          m=q;
  17.      }   
  18.   }
  19.   cout<<m<<endl;
  20.     system("pause");
  21.     return 0;
  22. }
複製代碼

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.    int x,y,sm,m;
  7.    cout<<"請輸第一個數";
  8.    cin>>x;
  9.    cout<<"請輸第二個數";
  10.    cin>>y;
  11.    sm=(x<y)?x:y;

  12.       
  13.    for( int i=1;i<=sm ;i++)
  14.    {
  15.       
  16.        if(x%i==0 && y%i==0)
  17.        {         
  18.            
  19.            
  20.            m=i;
  21.        }
  22.    }
  23.    
  24.    cout<<x<<"與"<<y<<"的最大公因數是:"<<m<<endl;
  25.    system("pause");
  26.    return 0;
  27. }
複製代碼

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.    int x,y,a,b;
  7.    cout<<"請輸第一個數";
  8.    cin>>x;
  9.    cout<<"請輸第二個數";
  10.    cin>>y;
  11.    sm=(x<y)?x:y;

  12.       
  13.    for( int i=1;i<=b ;i++)
  14.    {
  15.       
  16.        if(x%i==0 && y%i==0)
  17.        {         
  18.            
  19.            
  20.            a=i;
  21.        }
  22.    }
  23.    
  24.    cout<<x<<"與"<<y<<"的最大公因數是:"<<m<<endl;
  25.    system("pause");
  26.    return 0;
  27. }
複製代碼
http://fs-old.mis.kuas.edu.tw/~s1102137106/music/

TOP

返回列表