C语言 : 1亿以内的完全数

如题所述

第1个回答  2019-04-26
写了个
但是太大
很卡!
其实没必要
到10000就很卡了!哈哈
#include<stdio.h>
int
main()
{
int
a[100],k,j,n,d,sum,temp;
long
int
b,i;
for(i=2;i<=100000000;i++)
{
sum
=0;
b
=
i;
j
=
0;
while(b>0)
{
a[j]
=
b%10;
b
=
b/10;
j++;
}
for(n=1;n<=i/2;n++)
{
d
=
0;
for(k=j-1;k>=0;k--)
{
temp
=
d*10
+
a[k];
d
=
temp%n;
}
if(d
==
0)
sum
=
sum
+
n;
}
if(sum
==
i)
printf("%d\n",sum);
}
return
1;
}