#22925: Python 分享 generator 寫法


snakeneedy (蛇~Snake)

School : 國立高雄師範大學附屬高級中學
ID : 7661
IP address : [123.194.188.217]
Last Login :
2021-01-30 06:04:44
a241. 第二題:1 / x 是有限小數 -- 100學年度板橋高中校內資訊學科能力競賽 | From: [1.173.117.240] | Post Date : 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