算法提高 8-1因式分解

问题描述
  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。
样例
  与上面的样例输入对应的输出。
  例:

数据规模和约定
  输入数据中每一个数在int表示范围内。
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstdio>
 4 #include <cmath>
 5 #include <stack> 
 6 #include <queue>
 7 #include <cstring>
 8 using namespace std;
 9 int a[2000];
10 int main()
11 {
12     int n;
13     while(cin>>n){
14         int i=2,j=0;
15         while(n>1){
16             while(n%i==0){
17                 a[j++]=i;
18                 n/=i;
19             }
20             i++;
21         }
22         cout<<a[0];
23         if(j>0){
24             for(int i=1;i<j;i++){
25                 cout<<"*"<<a[i];
26             } 
27         }
28         cout<<endl;
29     } 
30     return 0;
31 }

 

posted @ 2019-02-28 15:18  wydxry  阅读(314)  评论(0)    收藏  举报
Live2D