完全数を求めるプログラムを書いています。これらの完全数について読んだ後、それらのリストに出くわしました:完全数のリスト. 現時点での出力は次のとおりです。
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;
}