sum = 0
x = 1
n = 0
while True:
x = 2**n
n = n+1
sum =sum+x
if n>=20:
break
print sum
#这个print出来是1048575可是sum = 0
n = 0
while True:
n = n+1
sum =sum+(2**n)
if n>=20:
break
print sum
#这个print出来是2097150这两个值正好是两倍关系,为什么啊?只是一个将2**n赋值给x,一个没有设x直接sum中写2**n,实际上不是一样的吗???
1 回答
已采纳
asd8532
TA贡献143条经验 获得超187个赞
while True: x = 2**n x=2**0=1 n = n+1 sum =sum+x sum=sum+1 if n>=20: break print sum ################################# while True: n = n+1 sum =sum+(2**n) #这里去掉了n=0是加的值1,n直接等于2了,且这个是1-20的和 if n>=20: break print sum ###################################### while True: sum =sum+(2**n) n = n+1 #这才是0-19的和 if n>=20: break print sum
添加回答
举报
0/150
提交
取消