蓝桥杯 算法训练 8-2求完数(c语言版详细注释)

试题 算法训练 8-2求完数

                                                                                  蓝桥杯试题解答汇总链接

资源限制

       时间限制:50.0s 内存限制:256.0MB


问题描述

       
如果一个自然数的所有小于自身的因子之和等于该数,则称为完数。设计算法,打印1-9999之间的所有完数。


样例输出

与上面的样例输入对应的输出。
例:在这里插入图片描述


数据规模与约定

1-9999

代码

#include<stdio.h>
int main(){
	int i,j,sum;
	for(i=6;i<10000;i++){//最小完数为6从6开始 
		sum=0;//每次循环初始化sum为0 
		for(j=1;j<i;j++){
			if(i%j==0){//该数是i的因子就+j 
				sum+=j;
			}
		}
		if(sum==i){
			printf("%d\n",i);
		}
	} 
	return 0;
}
发布了51 篇原创文章 · 获赞 58 · 访问量 4643

猜你喜欢

转载自blog.csdn.net/xyf0209/article/details/104262993