A – Lacked Number
方針
・0から9までをforループし、以下の操作を行う。
・入力された文字列に含まれていれば次のループへ
・入力された文字列に含まれない文字がある場合は出力
問題文より入力される文字列は0から9までで構成されています。また、文字列に含まれない数字が0から9までのうち1つだけです。
解答
1 2 3 4 5 6 7 |
s=list(input()) for i in range(10): if str(i) in s: continue else: print(i) |
B問題
方針
・初めからaがbより大きければ0を出力
・aがbより小さい間はwhileで以下の操作を繰り返す
→aをk倍し、ansに1を加える。
※ansはスライムを倍増させた回数を保存する変数
解答
1 2 3 4 5 6 7 8 9 10 |
a,b,k = map(int, input().split()) ans = 0 if a>=b: print(ans) exit() while b>a: a *= k ans +=1 print(ans) |
公式解説にlog10^9 < 30 ※底は2 という表現がありますが、まさにこういった計算量の話がこちらの本に書かれています。私も今読んでいて非常に勉強になっています。
コメント