返回列表 發帖

506 質因數分解

本帖最後由 陳曜誌 於 2024-12-25 18:51 編輯

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

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

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

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

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

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

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

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

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,t=2;
  4. vector<int> v;
  5. int main()
  6. {
  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.     if(v.size()==1)
  19.         cout<<"-1";
  20.     else
  21.     {
  22.         cout<<v[0];
  23.         for(int i=1;i<v.size();i++)
  24.             cout<<"*"<<v[i];
  25.     }
  26.     return 0;
  27. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> v;
  4. int n, t=2;
  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=n/t;
  15.         }
  16.         else
  17.             t++;
  18.     }
  19.     if(v.size()==1)
  20.     {
  21.         cout<<"-1";
  22.     }
  23.     else
  24.     {
  25.         cout<<v[0];
  26.         for(int i=1;i<v.size();i++)
  27.         {
  28.             cout<<"*"<<v[i];
  29.         }
  30.     }
  31.     return 0;
  32. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,t=2;
  4. vector<int> v;
  5. int main()
  6. {
  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.    
  19.         if(v.size()==1)
  20.         cout<<"-1";
  21.         
  22.     else
  23.     {
  24.         cout<<v[0];
  25.         for(int i=1;i<v.size();i++)
  26.         cout<<"*"<<v[i];
  27.             
  28.     }
  29.    
  30.     return 0;
  31. }
複製代碼

TOP

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

TOP

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

TOP

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

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<int> v;
  5. int main()
  6. {
  7.    int t=2;
  8.    cin>>n;
  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.    if(v.size()==1)
  21.    {
  22.     cout<<"-1";
  23.    }
  24.    else
  25.    {
  26.        cout<<v[0];
  27.        for(int i=0;i<v.size();i++)
  28.        {
  29.            cout<<"*"<<v[i];
  30.        }
  31.    }
  32.     return 0;
  33. }
複製代碼

TOP

返回列表