問題如下:
Statement
As a future athlete you just started your practice for an upcoming event. Given that on the first day you run x miles, and by the event you must be able to run y miles.
Calculate the number of days required for you to finally reach the required distance for the event, if you increases your distance each day by 10% from the previous day.
Print one integer representing the number of days to reach the required distance.
大意是 第一天我可以一次跑 x miles
訓練的最後一天 我的目標是一次跑 y miles
每訓練一天 我可以比前一天 多跑10%
要達到目標 我需要訓練幾天?
以下是我練習的語法
a = int(input()) --第一天可以跑得miles
b = int(input()) --最後一天目標miles
ans = 0 --紀錄每一天可以跑得miles
i = 1 --從第一天開始
while ans <= b:
ans = a * 1.1
i += 1
print(i) --印出總共訓練了幾天
測試資料 a = 10 b = 20
snakify練習網址
按下 執行後
整個網頁會當機 沒有回應
不知道是不是我寫了無窮迴圈導致的
還是這個練習網站本身的問題??
(PS 需要註冊後才可以練習題目)
更新正解:
a = int(input())
b = int(input())
ans = 0
i = 1
if(a < b):
while ans < b:
ans = a * 1.1
i += 1
a = ans
print(i)
更新簡化:
a = int(input())
b = int(input())
i = 1
if(a < b):
while a < b:
a *= 1.1
i += 1
print(i)
你的邏輯錯了啊!
ans = a * 1.1
你想看看你a是10,乘1.1倍後等於結果1.1a,第二次迴圈a再乘1.1倍等於結果1.1a...
要什麼時候才會等於b?(可能要等到我有個像nezuko一樣可愛的妹妹的時候吧