我正在练习 Project Euler,我正在解决一个问题,以计算2 ** 1000
Python 中 (2 ^ 1000) 中的数字总和。我的代码
z = 2 ** 1000
print(z)
sum = 0
while z > 0:
x = int(z % 10)
sum += x
z = z / 10
print(sum)
给出结果
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
1189
虽然 Python 能够为 z 计算正确的值,但 z 中的数字总和是错误的。为什么总和不正确?