Board logo

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

作者: 陳品肇    時間: 2019-6-15 10:02     標題: 因數分解 (四) - 兩數求公因數

本帖最後由 陳品肇 於 2019-6-15 11:40 編輯

讓使用者任意輸入兩正整數, 電腦回應它們有那些公因數, 以及共有幾個公因數.
執行畫面如下:
[attach]6682[/attach]
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {

  6.     int n,n2,tmp,count=0;

  7.     cout<<"請輸入第一個數: ";   
  8.     cin>>n;
  9.     cout<<"請輸入第二個數: ";   
  10.     cin>>n2;
  11.     cout<<n<<"與"<<n2<<"的公因數有:";
  12.     tmp = (n>n2)?n2:n;  //n是否大於n2,n2丟給tmp否則 就把n丟給tmp

  13.     for(int i=1;i<=tmp;i++)
  14.     {
  15.        if(n%i==0 && n2%i==0) //符合因數
  16.        {
  17.            cout<<i<<" ";
  18.            count++; // 個數累加
  19.        }
  20.     }
  21.     cout<<endl;
  22.     cout<<"總共有"<<count<<"個!"<<endl;  
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

作者: 黃傳耀    時間: 2019-6-15 11:03

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

作者: 邱楷宸    時間: 2019-6-15 11:10

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int number,number2,x=1,cont=0;
  7.     cout<<"請輸入一個數字並按enter:";
  8.    
  9. cin>>number;
  10.     cout<<"請輸入另一個數字並按enter:";
  11.     cin>>number2;
  12.     cout<<number<<"和"<<number2<<"的公因數有:";
  13.     while(x<=number && x<=number2)
  14.     {
  15.         if(number%x == 0 && number2%x == 0)
  16.         {
  17.             cout<<x<<" ";        
  18.             cont+=1;
  19.         }
  20.         x+=1;
  21.     }
  22.     cout<<endl;
  23.     cout<<"共"<<cont<<"個"<<endl;
  24.     system("pause");
  25.     return 0;
  26. }
複製代碼

作者: 洪藜芸    時間: 2019-6-15 11:15

本帖最後由 洪藜芸 於 2019-6-15 11:18 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a,b,d=0;
  7.     cout<<"請輸入第一個數:";
  8.     cin>>a;
  9.     cout<<"請輸入第二個數:";
  10.     cin>>b;
  11.     cout<<a<<"和"<<b<<"的公因數有:";
  12.     if(a>b)
  13.     {
  14.         for(int c=1;c<=b;c++)
  15.         {
  16.             if(a%c==0 && b%c==0)
  17.             {
  18.                 cout<<c<<" ";
  19.                 d=d+1;
  20.             }
  21.             
  22.         }
  23.     }else if(a<b)
  24.     {
  25.         for(int c=1;c<=a;c++)
  26.         {
  27.             if(a%c==0 && b%c==0)
  28.             {
  29.                 cout<<c<<" ";
  30.                 d=d+1;
  31.             }
  32.         }
  33.       
  34.     }
  35.     cout<<endl;
  36.     cout<<"共有"<<d<<"個!"<<endl;
  37.     system("pause");
  38.     return 0;
  39. }
複製代碼

作者: 洪子涵    時間: 2019-6-15 11:16

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

作者: 李易展    時間: 2019-6-15 11:19

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a,a2,b=1,cont=0;
  7.     cout<<"請輸入一個數字:";
  8.     cin>>a;
  9.     cout<<"請輸入另一個數字:";
  10.     cin>>a2;
  11.     cout<<a<<"和"<<a2<<"的公因數有:";
  12.     while(b<=a && b<=a2)
  13.     {
  14.         if(a%b == 0 && a2%b == 0)
  15.         {
  16.             cout<<b<<" ";        
  17.             cont+=1;
  18.         }
  19.         b+=1;
  20.     }
  21.     cout<<endl;
  22.     cout<<"共"<<cont<<"個"<<endl;
  23.     system("pause");
  24.     return 0;
  25. }
複製代碼

作者: 謝蓮金    時間: 2019-6-15 11:50

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a=1,b,c,d=0;
  7.     cout<<"1:";   
  8.     cin>>b;
  9.     cout<<"2:";   
  10.     cin>>c;
  11.     while(a<=b&&a<=c)
  12.     {
  13.        if(b%a==0&&c%a==0)
  14.        {
  15.        cout<<a<<" ";
  16.        d++;
  17.        }
  18.       
  19.        a++;
  20.     }
  21.     cout<<"有"<<d<<"個"<<endl;  
  22.     system("pause");
  23.     return 0;
  24. }
複製代碼

作者: 王建葦    時間: 2019-6-29 09:40

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

作者: 陳宇柏    時間: 2019-7-2 19:57

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





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