ひどすぎて久々に赤から落ちてしまった。
http://codeforces.com/contest/875/problem/A
問題
ある整数Xと、Xの各桁の数値を足したらNになった。
Nが与えられたとき、Xの候補を答えよ。
解法
どっかで見たな…と思ったら↓これだった。
AtCoder ARC #034 : A - 首席、B - 方程式 - kmjp's blog
ll N; int dig(ll v) { int ret=0; while(v) { ret+=v%10; v/=10; } return ret; } void solve() { int i,j,k,l,r,x,y; string s; cin>>N; vector<int> ret; for(ll a=max(1LL,N-200LL);a<=N;a++) { if(a+dig(a)==N) ret.push_back(a); } cout<<ret.size()<<endl; FORR(c,ret) cout<<c<<endl; }
まとめ
まぁこれは知らなくてもすぐ解けるか。