AtCoder-ABC206 A - Maxi-Buying / B - Savings【Python解答例】
AtCoder Beginner Contest206のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 206(Sponsored by Panasonic) - AtCoder
AtCoder Beginner Contest206 A - Maxi-Buying
問題文
ABC 国の消費税率は 8 パーセントです。
ABC 国にはエナジードリンク屋さんがあります。ここでは、エナジードリンク 1 本を、税抜き N 円で販売しています。
ここに消費税を加算した後の金額は ⌊1.08×N⌋ 円となります。ただし、実数 x に対し、⌊x⌋ は x 以下の最大の整数を表します。
この金額が定価の 206 円より安いなら Yay! 、定価と等しいなら so-so 、定価より高いなら :( と出力して下さい。
制約
・1≤N≤300
・N は整数
解答例
n = int(input()) ans = n * 108 // 100 if ans < 206: print("Yay!") elif ans == 206: print("so-so") else: print(":(")
解説
税抜きN円の商品が消費税8%で販売されるときの販売価格を206円と比較した結果を答える問題です。
税込み価格はN円に108をかけて、100で割り、余りを切り捨てました。
この値をans変数に代入し、206と比較した結果を出力すればOKです。
AtCoder Beginner Contest206 B - Savings
問題文
シカのAtCoDeerくんは、空の貯金箱を持っています。
AtCoDeerくんは、その貯金箱に、1 日目の朝に 1 円、2 日目の朝に 2 円 … というように、i 日目の朝に i 円を貯金箱に入れます。
また、AtCoDeerくんは、毎日夜に貯金箱にいくら入っているかを確認します。
AtCoDeerくんが貯金箱に N 円以上入っていることを初めて確認するのは、何日目の夜でしょうか?
制約
・1≤N≤10^9
・N は整数
解答例
n = int(input()) ans = 0 for i in range(1,n+1): ans += i if ans >= n: print(i) break
解説
i日目にi円貯金していき、N円以上貯まるのは何日後か答える問題です。
貯まったお金をans円としてi円ずつ足していきました。
N円を超えたときにのiを出力して、ループを終了させればACでした!
ABC206の関連記事はこちら
ebisuke33.hatenablog.com
ebisuke33.hatenablog.com