我正在写找到完美数的程序。 看了关于我碰到他们的名单出来,这些完美的数字 : 完美的数字列表 。 此刻的输出是:
28 // perfect
496 // perfect
8128 // perfect
130816 // not perfect
2096128 // not perfect
33550336 // perfect
我决定创建数组并把它与数字,这完全把数(不休息)。 因此,我将能够验证,如果它是一个完美的数字或不添加阵列中的所有元素。 但是,应用程序崩溃,我不明白为什么:
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned long number;
unsigned long arr2[100] = {0};
int k = 0;
for ( number = 0; number <= 130816; number++ )
if ( 130816 % number == 0 )
arr2[k++] = number;
for ( k = 0; k < 100; k++ )
printf("%lu", arr2[k]);
return 0;
}