#26141: 因為沒人回所以再發一次


zhengyouli547@gmail.com (hahaha)

學校 : 高雄市立高雄高級中學
編號 : 134898
來源 : [223.139.151.14]
最後登入時間 :
2021-09-19 15:23:51
a215. 明明愛數數 | From: [223.139.153.112] | 發表日期 : 2021-07-18 16:47

第一次寫這樣

while True:
    try:
        a,b=map(int,input().split());aa=0;t=0
        while (aa<b):
            aa=aa+a
            a+=1
            t+=1
        print(t)
    except:
        break
看討論後寫這樣
while True: try: a,b=map(int,input().split());aa=0;t=0 if (a<0): a=-a if (b<0): b=-b while (aa<b): aa=aa+a a+=1 t+=1 print(t) except: break
想問哪裡還有漏掉的
謝謝!
 
#26142: Re:因為沒人回所以再發一次


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
a215. 明明愛數數 | From: [49.159.6.107] | 發表日期 : 2021-07-18 17:16

題目敘述中:「他數過的這些數字的總和會超過 m。」有一個「超過」這個詞存在。

 

所以第一個作法中應寫為 aa <= b 而不是 aa < b,後者代表的是加到「至少」為 m。這樣應該就會解決問題了。

 

以上,希望有幫助到你。

 
#26144: Re:因為沒人回所以再發一次


zhengyouli547@gmail.com (hahaha)

學校 : 高雄市立高雄高級中學
編號 : 134898
來源 : [223.139.151.14]
最後登入時間 :
2021-09-19 15:23:51
a215. 明明愛數數 | From: [223.139.153.112] | 發表日期 : 2021-07-18 17:30

題目敘述中:「他數過的這些數字的總和會超過 m。」有一個「超過」這個詞存在。

 

所以第一個作法中應寫為 aa <= b 而不是 aa < b,後者代表的是加到「至少」為 m。這樣應該就會解決問題了。

 

以上,希望有幫助到你。


改這樣

while True:
    try:
        a,b=map(int,input().split());aa=0;t=0
        if (a<0):
            a=-a
        if (b<0):
            b=-b
        while (aa<=b):
            aa=aa+a
            a+=1
            t+=1
        print(t)
    except:
        break
WA line4
my anser :1
anser :202
不過還是謝謝~~~~
 
ZeroJudge Forum