1) 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。编程找出 1000 以内的所有完全数,并输出使该数成为完全数的因子。(例如6=1+2+3。按照6, its factors are 1,2,3格式输出)。
老师要求因子要用数组输出,谢谢各位大佬了!!!!
// Q1065158.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
int main()
{
int factors[200];
int curr;
int sum;
for (int i = 1; i <= 1000; i++)
{
curr = 0;
sum = 0;
for (int j = 1; j < i; j++)
{
if (i % j == 0)
{
factors[curr++] = j;
sum += j;
}
}
if (sum == i)
{
printf("%d=", i);
for (int j = 0; j < curr; j++) printf("%s%d", (j == 0 ? "" : "+"), factors[j]);
printf("\n");
}
}
return 0;
}
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
Press any key to continue . . .