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


数据规模和约定
输入数据中每一个数在int表示范围内。
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int i,j,s=1,k;
for(i=2;i*i<=n;i++){
if(n%i==0){
break;
}
}
if(i*i>n){
printf("%d",n);
return 0;
}
for(i=2;i<n;i++){
for(j=2;j*j<=i;j++){
if(i%j==0){
break;
}
}
if(j*j>i){
if(n%i==0){
k=n;
while(!(k%i)){
s*=i;
if(s==n){
printf("%d",i);
return 0;
}
else {
printf("%d*",i);
k/=i;
}
}
}
}
}
return 0;
}