文章

3

粉丝

0

获赞

13

访问

395

头像
最长连续因子 题解(C):
P1020 贵州大学机试题
发布于2025年3月22日 18:18
阅读数 195

#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;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发