返回列表 發帖

506 質因數分解

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,讓使用者輸入一個正整數,輸出該數的質因數分解式子,質因數請由小而大相乘;若為質數,請輸出「-1」。

提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
一個正整數

輸出說明
該數的質因數分解式子,若為質數,請輸出「-1」。

範例輸入1
360
範例輸出1
2*2*2*3*3*5

範例輸入2
2
範例輸出2
-1

本帖隱藏的內容需要回復才可以瀏覽
May

本帖最後由 高湘庭 於 2024-12-21 11:29 編輯
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. int n;
  5. vector<int> v;
  6. cin>>n;
  7. int t=2;
  8. while(n!=1){
  9.     if(n%t==0)
  10.     {
  11.         v.push_back(t);
  12.         n/=t;
  13.     }
  14.     else
  15.     t++;
  16. }
  17. int len=v.size();
  18. if(len==1)
  19.     cout<<-1<<endl;
  20. else
  21. {
  22.     cout<<v[0];
  23.     for(int i=1;i<len;i++)
  24.         cout<<"*"<<v[i];
  25. }
  26. return 0;
  27. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int>v;
  5. int main(){
  6. cin>>n;
  7. int t=2;
  8. while(n!=1)
  9. {
  10.    if(n%t==0)
  11.    {
  12.        v.push_back(t);
  13.        n/=t;
  14.    }
  15.    else
  16.     t++;
  17. }
  18. int len=v.size();
  19. if(len==1)
  20.     cout<<-1;
  21. else
  22. {
  23.     cout<<v[0];
  24.     for(int i=1;i<len;i++)
  25.         cout<<"*"<<v[i];
  26. }
  27. return 0;
  28. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int>v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }
  16.         else
  17.         {
  18.             t++;
  19.         }
  20.     }
  21.     int len=v.size();
  22.     if(len==1)
  23.     {
  24.         cout<<-1;
  25.     }
  26.     else
  27.     {
  28.         cout<<v[0];
  29.         for(int i=1;i<len;i++)
  30.             cout<<'*'<<v[i];
  31.     }
  32.     return 0;
  33. }
複製代碼

TOP

本帖最後由 邱奕倫 於 2024-12-21 10:20 編輯
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }else
  16.         {
  17.             t++;
  18.         }
  19.     }
  20.     int len=v.size();
  21.     if(len==1)
  22.     {
  23.         cout<<-1;
  24.     }else
  25.     {
  26.         cout<<v[0];
  27.         for(int i=1; i<len; i++)
  28.             cout<<'*'<<v[i];
  29.     }
  30.     return 0;
  31. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }else
  16.         {
  17.             t++;
  18.         }
  19.     }
  20.     int len=v.size();
  21.     if(len==1)
  22.     {
  23.         cout<<-1;
  24.     }else
  25.     {
  26.         cout<<v[0];
  27.         for(int i=1; i<len; i++)
  28.             cout<<'*'<<v[i];
  29.     }
  30.   return 0;
  31. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }
  16.         else
  17.             t++;
  18.     }
  19.     int len=v.size();
  20.     if(len==1)
  21.         cout<<-1;
  22.     else
  23.     {
  24.         cout<<v[0];
  25.         for(int i=1; i<len; i++)
  26.             cout<<"*"<<v[i];
  27.     }
  28.     return 0;
  29. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;

  3. int main()
  4. {
  5.     vector<int> v;
  6.     v.push_back(5);
  7.     v.push_back(1);
  8.     v.push_back(3);
  9.     v.push_back(8);
  10.     v.push_back(9);
  11.     cout<<v.size()<<endl;
  12.     cout<<v.empty()<<endl;
  13.     for(int i=0;i<v.size();i++)
  14.         cout<<v[i]<<" ";
  15.     cout<<endl;
  16.     v.pop_back();
  17.     v.erase(v.begin()+1);
  18.      for(int i=0;i<v.size();i++)
  19.         cout<<v[i]<<" ";
  20.     cout<<endl;
  21.     sort(v.begin(),v.end());
  22.     for(int i:v)
  23.         cout<<i<<" ";
  24.     return 0;
  25. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }else
  16.         {
  17.             t++;
  18.         }
  19.     }
  20.     int len=v.size();
  21.     if(len==1)
  22.     {
  23.         cout<<-1;
  24.     }else
  25.     {
  26.         cout<<v[0];
  27.         for(int i=1; i<len; i++)
  28.             cout<<'*'<<v[i];
  29.     }
  30.     return 0;
  31. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n != 1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }
  16.         else
  17.             t++;
  18.     }
  19.     int len=v.size();
  20.     if(len==1)
  21.         cout<<"-1"<<endl;
  22.     else
  23.     {
  24.         cout<<v[0];
  25.         for(int i=1; i<len; i++)
  26.             cout<<"*"<<v[i];
  27.     }
  28.     return 0;
  29. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     vector<int> v;
  6.     int n;
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back(t);
  14.             n/=t;
  15.         }
  16.         else
  17.         t++;
  18.     }
  19.     int len=v.size();
  20.     if(len==1)
  21.     cout<<-1;
  22.     else
  23.     {
  24.         cout<<v[0];
  25.         for(int i=1;i<len;i++)
  26.         cout<<"*"<<v[i];
  27.     }
  28.     return 0;
  29. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     vector<int> v;
  6.     int n,t=2;
  7.     cin>>n;
  8.     while(n!=1)
  9.     {
  10.         if(n%t==0)
  11.         {
  12.             v.push_back(t);
  13.             n/=t;
  14.         }
  15.         else
  16.             t++;
  17.     }
  18.     int len=v.size();
  19.     if(len==1)
  20.         cout<<-1<<endl;
  21.     else
  22.     {
  23.         cout<<v[0];
  24.         for(int i=1;i<len;i++)
  25.             cout<<"*"<<v[i];
  26.     }
  27.     return 0;
  28. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int>v;
  5. int main()
  6. {
  7.     cin>>n;
  8.     int t=2;
  9.     while(n!=1)
  10.     {
  11.         if(n%t==0)
  12.         {
  13.             v.push_back();
  14.             n/=t;
  15.         }else
  16.             t++
  17.     }
  18.     int len=v.length();
  19.     if(len==1)
  20.     {
  21.         cout<<1<<endl;
  22.     }
  23.     cout<<v[0]<<endl;
  24.     for(int int i=1;i<len;i++)
  25.         cout<<'*'<<endl;
  26.     return 0;
  27. }
  28.    
複製代碼

TOP

返回列表