【C语言】求“完数”

例137 9.一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如 6=1+2+3,编程找出 1000 以内的所有完数。
 

#include

int main() {
	int a, b, sum;//a为1000之中的数,b为a的因子,sum为因子之和
	for (a = 1; a <= 1000; a++) {
		sum = 0;
		for (b = 1; b < a; b++) {
			if (a % b == 0) {
				sum += b;
			}
		}
		if (sum == a) {
			printf("%d its factors are ", a);
			for (b = 1; b < a; b++) {
				if (a % b == 0) {
					printf("%d,", b);
				}
			}
				printf("\n");
		}
	}
	return 0;
}

输出结果:

【C语言】求“完数”_第1张图片

 

你可能感兴趣的:(c++,c语言,算法)