1096. Consecutive Factors (20)
#include <stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d",&n);
int key=sqrt((double)n);
int s,maxlen=0;
for(int i=2;i<=key;++i)
{
int m=n;
int curlen=0;
int k=i;
while(m%k==0)
{
++curlen;
m/=k;++k;
}
if(curlen>maxlen)
{
maxlen=curlen;
s=i;
}
}
if(!maxlen)
{
printf("1\n%d",n);return 0;
}
printf("%d\n%d",maxlen,s);
while(--maxlen)
{
printf("*%d",++s);
}
return 0;
}