coding-coworking-club / python-spring-2021

ccClub Python Spring 2021
https://www.ccclub.io/course/2021Spring
23 stars 6 forks source link

[Homework 3] 小仔養蛋雞I #224

Closed chrisjan611 closed 3 years ago

chrisjan611 commented 3 years ago

提交連結

https://judge.ccclub.io/status/abcff405c25bdc117adad11f1c5ba0b9

程式碼

information = [float(ifm) for ifm in input().split(" ")]
#把輸入值設為information,放入串列中,每個值都是float

i=information[0]
x0=information[1]
T=information[2]
L=information[3]
#串列中的第零項是i、第一項是x0、第二項是T、第三項是L
all_egg=[]
all_egg2=[]
all_egg3=[]
#幾個待會要使用的空字串

for t in range(1,(int(T)+1)):
#開始計算每天的產蛋率,t代表天數
    if t==1:
        all_egg.append(x0-(1+0.5*1))
        #第一天是x0-(1+0.5*1)
    else:
        all_egg.append(all_egg[t-2]-(1+0.5*t))
        #第二天開始每天都是前一天再減(1+0.5*t),all_egg[t-2]會是t-2是因為這樣才能跟all_egg裡面的前一項對上

for k in all_egg:
#完成一個由每天的產蛋率組成的all_egg串列後,討論產蛋率可能低於L的問題
    if all_egg[-1]>=L:
        all_egg2=all_egg
        #如果最後一天的產蛋率仍高於L,則不用變動,all_egg2=all_egg
    elif k<L:
        for m in range(all_egg.index(k)):
            all_egg2.append(all_egg[m])
            #如果all_egg中的任何k<L,則把k之前的所有值丟到all_egg2
        for f in range(int(T)-all_egg.index(k)):
            all_egg2.append(L)
            #並且把不足的部分用L值補滿
        break

import math
for q in all_egg2:
    all_egg3.append(math.ceil(q))
    #把all_egg2中的值全部四捨五入後丟到all_egg3

print(int((int(sum(all_egg3))*int(i))//100))
#把all_egg3的值全部相加、乘以i、除以100、轉為int、輸出!

#助教的眼睛辛苦ㄌ~

錯誤訊息

問題描述

試過測資和我想得到的各種數字都沒問題,但是丟上Judge就是wrong answer,好像也不是input範圍的問題,想問問助教有什麼遺漏之處,感恩!

hchbiggrass commented 3 years ago

主要是進位問題,你應該要先算好每天的產量才做進位,而不是先進位之後才乘以理想產蛋數

chrisjan611 commented 3 years ago

AC了,謝謝助教解惑!