返回列表 發帖

因數分解 (四) - 兩數求公因數

讓使用者任意輸入兩正整數, 電腦回應它們有那些公因數, 以及共有幾個公因數.
執行畫面如下:
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x, y, smaller, sum=0;
  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.               cout<<i<<" ";
  18.               sum++;
  19.          }   
  20.     }
  21.     cout<<"\n總共有"<<sum<<"個!"<<endl;
  22.     system("pause");
  23.     return 0;
  24. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

本帖最後由 趙一鳴 於 2019-1-5 14:49 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int i,j,k=0,d;//d代表比較大的數
  7.     cout<<"請輸入第一個數: ";
  8.     cin>>i;
  9.     cout<<"請輸入第二個數: ";
  10.     cin>>j;
  11.     cout<<i<<"跟"<<j<<"的公因數有:";
  12.     d=i<j?i:j;
  13.     for(int u=1;u<=d;u++)
  14.     {
  15.         if(i%u==0&&j%u==0)
  16.         {
  17.             cout<<" "<<u;
  18.             k++;                  
  19.         }        
  20.     }
  21.     cout<<"\n共有"<<k<<"個\n";
  22.     system("pause");
  23.     return 0;   
  24. }
複製代碼

TOP

本帖最後由 章幼莛 於 2019-1-5 15:03 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int i,j,s,c=0;
  7.     cout<<"請輸入第一個正整數:";
  8.     cin>>i;
  9.     cout<<"請輸入第二個正整數:";
  10.     cin>>j;
  11.     s=(i<j)?i:j;
  12.     cout<<i<<"與"<<j<<"的共同因數有";
  13.     for(int a=1;a<=s;a++)
  14.     {
  15.             if(i%a==0 && j%a==0)
  16.             {
  17.                       cout<<a<<" ";
  18.                       c++;
  19.             }
  20.     }
  21.     cout<<endl;
  22.     cout<<"總共有"<<c<<"個"<<endl;
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼
回復 1# 陳品肇

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int X,Y,sum=0,total=0,tep=0,mini=0,max=0,a,b;
  7.     cout<<"請輸入第一個正整數:";
  8.     cin>>X;
  9.     cout<<"請輸入第二個正整數:";
  10.     cin>>Y;
  11.     cout<<X<<"跟"<<Y<<"的公因數有:";
  12.     tep=(X<Y)?Y:X;
  13.    
  14.     for(int i=1;i<=tep;i++)
  15.     {
  16.      if(X%i==0 && Y%i==0)
  17.      {
  18.       cout<<i<<" ";
  19.       sum+=1 ;
  20.        }
  21.     }
  22.      cout<<"總共有"<<sum<<"個"<<endl;
  23.      system("pause");
  24.     return 0;   
  25.    
  26. }
複製代碼

TOP

本帖最後由 吳孟修 於 2019-1-5 14:57 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x,y,tmp,z=0;
  7.     cout<<"請輸入第一個正整數:";
  8.     cin>>x;
  9.     cout<<"請輸入第二個正整數:";
  10.     cin>>y;
  11.     cout<<x<<"與"<<y<<"的公因數有:";
  12.     tmp=(x>y)?y:x;
  13.     for(int i=1;i<=tmp;i++)
  14.     {
  15.         if(x%i==0 && y%i==0)
  16.         {
  17.             cout<<i<<" ";
  18.             z++;     
  19.         }
  20.     }
  21.     cout<<endl;
  22.     cout<<"總共有"<<z<<"個"<<endl;
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

TOP

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

TOP

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

TOP

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

TOP

返回列表