文章
3
粉丝
0
获赞
13
访问
395
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10000
int main(){
int num,maxlen=0;
int temp[MAXSIZE];
scanf("%d", &num);
for(int i=2; i<=num/2; i++){
int count=0,j=i;
while(num%j==0&&j<=num/2){
count++;
j++;
}
if(count>maxlen || ((count==maxlen) && temp[0]>i)){//找到目前最长连续因子,或者比当前最长更小的
maxlen=count;
for(int k=0; k<count; k++)
temp[k]=i+k;
//由于每次找的连续因子总比上一次的长,所以会直接覆盖完上次的数组
}
}
for(int j=0; j<maxlen; j++)
printf("%d ",temp[j]);
return 0;
}
登录后发布评论
暂无评论,来抢沙发