→ Mchord: output = 5 * ((input % 5) + 1 ) 03/31 22:50
→ Mchord: 啊好像不是mod應該要用商 03/31 22:51
→ Mchord: output = 5 * ((input / 5) + 1 ) 不考慮5的倍數? 03/31 22:53
→ zerof: lambda x: x - x%5 + (5 if x%5 else 0) 03/31 23:01
推 physheepy: 改樓上的 (input % 5 > 0) ? 5*((input/5)+1) : input 03/31 23:02
→ ggirls: 上面的結果,如果 input == 15 結果是 20 耶? 03/31 23:03
→ ggirls: 我說的樓上是 Mchord,大家回太快了。 03/31 23:03
→ physheepy: 啊~~乾尬了 我發現我寫的是c++ XD 03/31 23:04
→ ggirls: python ok 的 03/31 23:06
→ ggirls: 我一直在想數學上是不是有什麼「最小XX數的」。好像大家都 03/31 23:07
→ ggirls: 也是用if...else? 03/31 23:07
推 physheepy: a = 5*((input/5)+1) if input%5 >0 else input 03/31 23:08
推 mars90226: 用math的ceil函數吧? 03/31 23:13
推 bibo9901: (x+4)//5*5 03/31 23:14
→ bibo9901: 當x=5k, (5k+4)//5*5 = 5k = x 03/31 23:17
→ bibo9901: 當x=5k+1 or 5k+2 or 5k+4, 5k+5 <= (x+4) <= 5k+9 03/31 23:18
→ bibo9901: ... 03/31 23:20
→ bibo9901: 所以 (x+4)//5*5 = 5(k+1). 正好是你要的 03/31 23:20
推 ErnieYang: 我會寫成(input+n-1)/n*n 如果input只有整數的話 04/01 11:57
推 ErnieYang: CodesFights golfing經驗得道的結果 04/01 11:59
推 ErnieYang: 耶 剛好跟樓上一樣 哈哈沒認真看 04/01 12:02
推 vvbird: a = lambda x:int((x - 1)/5+1)*5 04/01 18:19
→ vvbird: 這樣應該可以... 04/01 18:19
推 edwar: 正整數的話 f1=lambda x,n:x+n-1-((x-1)%n); f1(x,5). 多 04/02 11:02
→ edwar: 了一些加減法,但只用到一次除法. 負整數和浮點數要另外考慮 04/02 11:02
→ edwar: . 04/02 11:02
推 mikechan: ouput = (input +4) - (input + 4) % 5 04/02 15:28
→ ggirls: 很好奇數理好的人是如何思考的?有人可以提示思考流程嗎 04/02 22:55
→ ggirls: ? 04/02 22:55
推 joeywayi: 除五套高斯函數加一? 04/03 02:42
→ pkyosx: f = lambda x: int(math.ceil(x/5.0)) * 5 04/03 09:37