输入一个整数,输出其最长连续因子。
例如
输入:60
输出:2 3 4 5 6
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n,j,i,sonlen=1,cur=0,son[100]={0},start,pos,end;
scanf("%d",&n);
for(i=2;i<n;i++)
{
if(n%i==0)
{
son[cur++]=i;
}
}
for(i=0;i<cur;i++)
{
j=i;
start=i;
for(j=i;j<cur;)
{
if(son[j]==son[j+1]-1)
{
j++;
}
else
break;
}
pos=j;
if(pos-start+1>sonlen)
{
sonlen=pos-start+1;
end=pos;
}
i=pos;
}
if(sonlen==1)
{
printf("%d ",son[0]);
}
else
for(i=end-sonlen+1;i<=end;i++)
{
printf("%d ",son[i]);
}
system("pause");
return 0;
}