完数定义:如果一个数等于它的因子之和
例如:6=1+2+3
#include#include #include void main() { int sum;//所有因子的的和 int arr[20] = { 0 };//声明一个数组用来存储所有的因子 int n; //for循环i自增从1到1000——大循环 for (int i = 1; i <= 1000; i++) { sum = 0; n = 0; //小循环找到一个i所有的因子和因子和 for (int j = 1; j < i; j++) { if (i % j == 0) { sum += j;//统计因子只和 //将i的因子存入数组 arr[n] = j; n++; } } if (i == sum) {//如果因子之和等于这个数 printf("%d : ", i);//打印出完数 //将完数的因子打印出 for (int m = 0; m < n; m++) { printf(" %d", arr[m]); } printf("n"); } } return 0; }



