AtCoder Beginner Contest 083 - AtCoderbeta.atcoder.jp
A,Bは解けました。
CがTLE*1,DがWA*2。まだまだ先は長そうだ。
正解したものについてはサクッとだけ。
A - Libra
特に何も考えずに解いてしまった。
A+B,C+Dを比較すればいい。それだけ。
早い人はprintf,scanf使っているな…
あと、遠慮なくグローバル変数使ってるな…なるほど…?
B - Some Sums
自分の回答はこんな感じ。
インクルードは
#include <iostream> #include <vector> using namespace std;
vectorは要らなかった。
最初に用意した関数は、各桁の合計値を出す関数。
int sum(int num) { if( num < 10 ) return num; int a = num % 10; int b = num / 10; return sum(b) + a; };
あとはmainで、合計値をひたすら算出し、当てはまった回数を数えるだけ。
int main(void) { int N,A,B; cin >> N >> A >> B; int anser = 0; for(int i = A;i<=N;++i) { int some = sum(i); if( some < A ) continue; if( B < some ) continue; // cout << "i:" << i << ",some:" << some << endl; anser += i; } cout << anser << endl; return 0; }
早い人は、再帰関数なんて使ってないです…while分です…