我試圖解決本練習:電源數字和
https://projecteuler.net/problem=16
的代碼是不言自明:我計算功率(N)2^n,並且在總和(N),我切斷號碼的最後一位數字。只要pow> 0,我就可以做到這一點。我收到2^15的正確解決方案,但由於某種原因,相同的代碼不適用於2^1000。我收到1889年,這顯然是錯誤的。
def power(n):
power = 2
for x in range(1, n):
power = 2*power
return power
def sum(n):
pow = power(n)
sum = 0
while pow > 0:
modulo = pow%10
sum = sum + modulo
pow = int((pow - modulo)/10)
return sum
def main():
print(int(sum(1000)))
if __name__ == '__main__':
main()
「2^1000」的正確結果是什麼? –
我不知道。 projecteuler只是告訴我,我的解決方案是錯誤的。 – Julian
它不工作的方式? (錯誤,得到錯誤的答案等)另外,在函數sum中有一個變量'sum'。這會導致問題。如果我這樣做,我只是將'2 ** 1000'的字符串表示分解爲數字,將它們轉換爲int,然後使用內置的sum來將它們相加 –