プログラミングの練習問題において、わからないことがあったので質問させていただきます。
まず、自分が書いたコードです。
num = int(input()) n, m = 1, 1 [a, b] = list(map(int, input().split())) x = 0 while True: x += 1 m += a * n if num > m: n += m % b else: break print(x)
続いて、正解コードです。
n = int(input()) [a, b] = input().split() a, b = int(a), int(b) p = 1 k = 1 times = 0 while True: times += 1 k += p * a if k > n: break p += k % b print(times)
自分的には同じ処理を行なっていると思っているのですが、
入力値
10000 1 1
の時に自分のコードだと、9999と出力されて、一方正解コードだと10000とされます。
どなたか、どこが間違っているのかご教授願えますでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/10 08:57