#include<stdio.h>
int main(){
int j=2,a[31]={0},b[31]={0};
int n,i=0,flag=1,k,l=0,minlen=1;
scanf("%d",&n);
for(j=2;flag;j++){
k=n;
l=j;
i=0;
while(k>=l){
if(k%l==0){
k=k/l;
a[i]=l;
i++;
l++;
}
else
break;
}
if(n<=1LL*j*j)
flag=0;
else{
if(i>minlen){
minlen=i;
for(i=0;i<minlen;i++)
b[i]=a[i];
}
}
}
printf("%d\n",minlen);
if(minlen==1&&a[0]==0)
printf("%d",n);
else if(minlen==1&&a[0]!=0)
printf("%d",a[0]);
else{
for(i=0;i<minlen-1;i++)
printf("%d*",b[i]);
printf("%d",b[i]);
}
return 0;
}
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的
最新推荐文章于 2024-06-14 14:24:34 发布