题目描述
将一个正整数N(1< N< 32768)分解质因数,把质因数按从小到大的顺序输出。最后输出质因数的个数。
输入格式
一行,一个正整数
输出格式
两行,第一行为用空格分开的质因数,第二行为质因数的个数。
样例输入
66
样例输出
2 3 11
3
样例输入
90
样例输出
2 3 3 5
4
代码实现:
#include<stdio.h>
int main(){
int n,count=0;
scanf("%d",&n);//输入一个整数;
while(n!=1){
for(int i=2;i<=n;i++){
if(n%i==0){
printf("%d ",i);//输出用空格分开的质因数;
count++;
n=n/i;
break;
}
}
}
printf("\n%d\n",count);//输出质因数的个数;
}