将⼀个正整数
N(1<N<32768)
分解质因数,把质因数按从⼩到⼤的顺序输出。最后输出质因数的个
数。
输⼊格式
⼀⾏,⼀个正整数
输出格式
两⾏,第⼀⾏为⽤空格分开的质因数
第⼆⾏为质因数的个数
样例输⼊
66
样例输出
2 3 11
3
样例输⼊
90
样例输出
2 3 3 5
4
样例输⼊
37
样例输出
37
1
仿着柳婼的代码写了一个,由于之前在一个.cpp文件里还写了别的代码,会有一些不必要的头文件没有删掉~
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string>
#include<set>
using namespace std;
int main()
{
int n;
cin>>n;
int cnt=0;
while(n!=1)
{
for(int i=2;i<=n;i++)
{
if(n%i==0){
cout<<i<<" ";
cnt++;
n=n/i;
break;
}
}
}
cout<<endl;
cout<<cnt;
}