小编Tus*_*pta的帖子

对于python中的大n值,除以10会得到不准确的答案

我正在解决一个解决2 ^ 1000位数之和的简单问题.我知道,解决方案非常简单; 但请看这段代码:

n=2**1000
sum=0
while n>0:
    sum+=n%10
    n=int(n/10)
    print(n)
print(sum)
Run Code Online (Sandbox Code Playgroud)

以上片段给出了错误的答案.但是,如果我做了一个小改动:

n=2**1000
sum=0
while n>0:
    sum+=n%10
    n//=10     # changed
    print(n)
print(sum)
Run Code Online (Sandbox Code Playgroud)

那么答案是对的.谁能告诉我这里的区别是什么?

(注意:这种差异仅适用于较大的值n.)

python python-3.x

2
推荐指数
1
解决办法
125
查看次数

标签 统计

python ×1

python-3.x ×1