Board logo

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

作者: tonyh    時間: 2016-12-10 13:54     標題: 因數分解 (四) - 求公因數

本帖最後由 tonyh 於 2019-8-31 10:42 編輯

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

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

作者: 黃宥鈞    時間: 2016-12-10 14:33

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {  
  6.     re:
  7.     int x, y, z=0;
  8.     cout<<"請輸入兩個正整數: ";
  9.     cin>>x>>y;
  10.     cout<<x<<"和"<<y<<"的公因數有: ";
  11.     if(x>y)
  12.     {
  13.         for(int i=1; i<=x; i++)
  14.         {
  15.             if(x%i==0 && y%i==0)
  16.             {   
  17.                  cout<<i<<" ";
  18.                  z++;
  19.             }
  20.         }
  21.     }else if(y>x)
  22.     {
  23.          for(int i=1; i<=y; i++)
  24.         {
  25.             if(x%i==0 && y%i==0)
  26.             {   
  27.                  cout<<i<<" ";
  28.                  z++;
  29.             }
  30.         }
  31.     }else
  32.     {
  33.          for(int i=1; i<=y; i++)
  34.         {
  35.             if(x%i==0 && y%i==0)
  36.             {   
  37.                  cout<<i<<" ";
  38.                  z++;
  39.             }
  40.         }
  41.     }
  42.     cout<<endl<<"總共有"<<z<<"個!"<<endl<<endl;
  43.     goto re;
  44.     return 0;   
  45. }
複製代碼

作者: 許紘誌    時間: 2016-12-10 14:55

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

作者: 朱聿謙    時間: 2016-12-10 14:57

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     system("cls");
  8.     int a, b, smaller, sum=0;
  9.     cout<<"輸入第ㄧ個數: ";
  10.     cin>>a;
  11.     cout<<"輸入第二個數: ";
  12.     cin>>b;
  13.     smaller=a<b?a:b;
  14.     cout<<a<<"跟"<<b<<"的正公因數有: ";
  15.     for(int i=1; i<=smaller; i++)
  16.     {
  17.          if(a%i==0 && b%i==0)
  18.          {
  19.              cout<<i<<" ";
  20.              sum+=1;
  21.          }
  22.     }
  23.     cout<<endl<<"共有"<<sum<<"個"<<endl;
  24.     system("pause");
  25.     goto re;
  26.     return 0;
  27. }
  28. [/quote][/quote]
複製代碼

作者: 蔡幸融    時間: 2016-12-10 14:59

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

作者: 吳晉榕    時間: 2016-12-10 15:00

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

作者: 康湍榆    時間: 2016-12-10 15:04

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

作者: 洪榜蔓    時間: 2016-12-10 15:05

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

作者: 吳承勳    時間: 2016-12-10 15:06

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

作者: 譚暐霖    時間: 2016-12-16 19:09

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {  
  6.     re:
  7.     int x, y, smaller, sum=0;
  8.     cout<<"Please enter a number: ";
  9.     cin>>x;
  10.     cout<<"Please enter another number: ";
  11.     cin>>y;
  12.     smaller=x<y?x:y;
  13.     cout<<x<<"與"<<y<<"的公因數有: ";
  14.     for(int i=1; i<=smaller; i++)
  15.     {
  16.         if(x%i==0 && y%i==0)
  17.         {
  18.             cout<<i<<" ";
  19.             sum++;
  20.         }
  21.     }
  22.     cout<<endl<<"共有"<<sum<<"個!"<<endl<<endl;
  23.     goto re;
  24.     return 0;   
  25. }
複製代碼

作者: 蕭澧邦    時間: 2016-12-16 19:18

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





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