第一題的問題如下
def lets_take_tea_break(m, e, n, c):
"""print(m, e, n, c)"""
if pow(m, e) % n == c: return str(m)
return ""
if __name__ == "__main__":
import sys
print("http://cp1.nintendo.co.jp/" + lets_take_tea_break(*[int(i) for i in (sys.argv[1], 17, 3569, 915)]))
在這邊的sys.argv[1]很明顯是個有趣的地方。一般都是用於在接命令參數的,但如果把程式直接拿去跑,會出現IndexError: list index out of range的錯誤。
想了很久與Google後才發現,這一題的答案其實就是在問傳入lets_take_tea_break的m value。這樣我們就只要寫個function計算m的value就好,程式如下:
def brute_force_search(m):
ans = ''
for i in xrange(1,m):
ans = lets_take_tea_break(*[int(x) for x in (i, 17, 3569, 915)])
if ans: print(ans)
參看
沒有留言:
張貼留言