PKU1316
http://acm.pku.edu.cn/JudgeOnline/problem?id=1316
問題文は大雑把に説明すると
f(ABCD) = ABCD + A + B + C + D とする。
そして、ABCD は ABCD + A + B + C + D のジェネレーターと定義する。
次に自分を作るジェネレーターが存在しない数をself numberと定義する。
あとは(1..10000)の範囲のself numberをすべて表示するだけ。
面倒なのでコードだけささっと。
a['11'],i; main(){ for(;++i<1e4;) a[i*2-(i/10+i/100+i/1000)*9]= a[i]||printf("%d\n",i); }
i*2-(i/10+i/100+i/1000)*9をもうちょいスマートに書けたら良いんだけど思い浮かばず。