返回列表 發帖

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

本帖最後由 tonyh 於 2018-6-20 17:14 編輯

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

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5.     re:
  6.     int x, y, smaller, n=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.             n++;
  18.             cout<<i<<" ";
  19.         }  
  20.     }
  21.     cout<<endl<<"共有"<<n<<"個!"<<endl<<endl;
  22.     goto re;
  23.     system("pause");
  24.     return 0;   
  25. }
複製代碼

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

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int x,y,smaller;
  7.     re:
  8.     int n=0;
  9.     cout<<"請輸入第一個數: ";
  10.     cin>>x;
  11.     cout<<"請輸入第二個數: ";
  12.     cin>>y; 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.               n++;         
  19.               cout<<i<<" ";
  20.             }
  21.     }
  22.     cout<<endl<<"共有"<<n<<"個!"<<endl<<endl;
  23.     goto re;
  24.     system("pause");
  25.     return 0;
  26. }
複製代碼

TOP

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

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     int x,y,smaller,n=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.             n++;
  19.             cout<<i<<" ";
  20.         }        
  21.     }
  22.     cout<<endl<<"共有"<<n<<"個"<<endl<<endl;
  23.     goto re;
  24.     system("pause");
  25.     return 0;
  26. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     re:
  7.     int x,y,smaller,n=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.        n++;   
  19.       cout<<i<<"  ";
  20.       }
  21.     }      
  22.      cout<<endl<<x<<"與"<<y<<"公因數有"<<n<<"個";
  23.     cout<<endl<<endl;
  24.     goto re;
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

TOP

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

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main(){
  5.     re:
  6.     int x, y, smaller, n=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.             n++;
  18.             cout<<i<<" ";
  19.         }  
  20.     }
  21.     cout<<endl<<"共有"<<n<<"個!"<<endl<<endl;
  22.     goto re;
  23.     system("pause");
  24.     return 0;   
  25. }
複製代碼

TOP

返回列表