示例:
6=1+2+3
方法:找到num的所有因子,相加后检查是否等于num,如果等于,则按照相应格式输出。
找出1000以内的完数。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
int n, i, sum = 0, num,count=0;
int a[10];
int j;
for (j = 2; j <= 1000; j++) {
num = j;
sum = 0;
count = 0;
for (i = 1; i <= j; i++) {
if (num % i == 0) {//i为num的因子
sum += i;
num /= i;
a[count++] = i;//存储在数组中
}
}
if (sum == j) {//完数,按照下列格式输出
printf("%d=", j);
for (i = 0; i < count - 1; i++) {
printf("%d+", a[i]);
}
printf("%d\n", a[i]);
}
}
return 0;
}
运行结果截图:
如果该内容对你有小小的帮助,请给我点个赞!谢谢。
标签:int,相加,因子,num,完数,等于 From: https://blog.csdn.net/qq_53250579/article/details/137048755