#22925: Python 分享 generator 寫法


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a241. 第二題:1 / x 是有限小數 -- 100學年度板橋高中校內資訊學科能力競賽 | From: [1.173.117.240] | 發表日期 : 2020-10-11 02:43

未必快但寫起來可以很簡潔,generator 如下

def mulRange(start, stop, times):
    x = start
    while x < stop:
        yield x
        x *= times

之後只要寫成

for x in mulRange(2, n, 2):
    print(x)

就可以印出小於 n 的 2 的倍數,可以用在解這題上

補充提示,另一則解題報告也有提到的: 1/x 為有限小數的充分必要條件,為 x 只能是 2 或 5 的倍數

 
ZeroJudge Forum