#include<stdio.h>
#include<math.h>
int main(){
int n;
scanf("%d",&n);
int sum=0,point,longpoint,num,temp=0;//temp应赋值。
int limit=0,i=0,j=0;limit=sqrt(n)+1;
for(i=2;i<=limit;i++){
num=0;
sum=n;
point=i;
for(j=i;sum%j==0&&sum!=0;j++){
sum/=j;
num++;
}
if(num>temp){
temp=num;//changdu
longpoint=point;//qidian
}
}
if(temp==0)printf("1\n%d",n);
else {
i=longpoint;
printf("%d\n",temp);
while(i<longpoint+temp){
if(i!=longpoint){
printf("*");
}
printf("%d",i);
i++;
}
}return 0;
}
注意:值1260.
分析:考虑很多情况。
1.因子的乘法和能被对n求余或相等。
2.找到最大长度。
3.注意质数。printf("1\n%d",n);