Board logo

標題: 因數分解 (四) - 兩數求公因數 [打印本頁]

作者: tonyh    時間: 2014-12-13 11:17     標題: 因數分解 (四) - 兩數求公因數

本帖最後由 tonyh 於 2014-12-13 11:41 編輯

讓使用者任意輸入兩正整數, 電腦回應它們有那些公因數, 以及共有幾個公因數.
執行畫面如下:

[attach]1082[/attach]
  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. }
複製代碼

作者: 梁和雋    時間: 2014-12-13 11:45

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

作者: 李知易    時間: 2014-12-13 11:47

本帖最後由 李知易 於 2014-12-13 12:00 編輯
  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<<endl;
  22.     cout<<"\n總共有:"<<sum<<"個"<<endl;
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

作者: 謝瀞儀    時間: 2014-12-13 12:05

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

作者: 洪振庭    時間: 2014-12-17 17:12

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

作者: 李大全    時間: 2014-12-17 17:14

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

作者: 李知易    時間: 2014-12-20 10:36

  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.     int i=smaller;
  14.     while(i>=1)
  15.     {
  16.        if(x%i==0 && y%i==0)
  17.        {
  18.            
  19.            cout<<i<<" ";
  20.            sum++;
  21.        }  
  22.           i--;        
  23.     }     
  24.     cout<<endl;
  25.     cout<<"\n總共有:"<<sum<<"個"<<endl;
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼





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