这个问题的思路就是
一个数n和n的各位数字之和s关于9同余,
所以用数组的下标来记录是不是自私数。
#include<stdio.h>
#define MAX 10003
int main()
{
int i, b, sum, a[MAX]={0};
for(i=1; i<MAX; i++)
{
b = sum = i;
while(b)
{
sum += b % 10;
b /= 10;
}
if(sum < MAX)
a[sum] = 1;
}
for(i=1; i<MAX; i++)
if(a[i] == 0)
printf("%d\n",i);
return 0;
}