self Num ,定义: 数n本身加上组成数n的各位数字之和。
技巧: 遍历,标记出,selfnum 输出 非标记数。
#include <iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int MAX=1000005;
bool flag[MAX];
int selfNum(int x){
int ans=x;
int tmp=x;
while(tmp){
ans+=tmp%10;
tmp/=10;
}
return ans;
}
int main()
{
memset(flag,false,sizeof(flag));
int n=MAX-5;
int tmp;
for(int i=1;i<=n;i++){
tmp=selfNum(i);
flag[tmp]=true;
}
for(int i=1;i<=n;i++)
if(!flag[i]) printf("%d\n",i);
return 0;
}