一个数m可以分解为另一个数n及n的各位之和,例如87=75+7+5,不满足此条件的数叫做自私数,求10000以内的自私数
样例输出
1
3
5
7
9
20
31
42
53
64
|
| <– a lot more numbers
|
9903
9914
9925
9927
9938
9949
9960
9971
9982
9993
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
using namespace std;
bool a[10000];
void solve( )
{
for(int i=1;i<=10000;i++)
{
int t1,t2;
t1=t2=i;
while(t1)
{
t2+=t1%10;
t1/=10;
}
a[t2]=true;
}
for(int i=1;i<=10000;i++)
if(!a[i])
printf("%d\n",i);
}
int main( )
{
memset(a,0,sizeof(a));
solve();
return 0;
}