这题很简单,直接贴AC代码了
#include <iostream> #include <string.h> #define MAXN 10000 using namespace std; int num[MAXN]; int dnum(int i){ int sum = i; int temp; while (i > 0) { temp = i%10; sum += temp; i = (i-temp)/10; } return sum; } int main(){ int i,j; for (i = 0;i<MAXN;i++) { num[i] = 1; } for (i = 1 ;i <= MAXN-1; i++){ j = dnum(i); num[j] = 0; while(j<=MAXN){ j = dnum(j); num[j] = 0; } } for (i = 1;i <= MAXN-1;i++) { if (num[i]) { printf("%d/n",i); } } return 0; }