心态崩了呀~~2的N次幂到底是啥意思呀?
https://fishc.com.cn/thread-168287-1-1.html我昨天发个贴子求助,然后最简单的方法就是:
print(round(0.01*(2**30-1),2))
就可以得出结果,为啥呀?这个不应该用for循环才能得出结果吗?
我昨天做梦都是在算数,我滴神呀!大佬们救救我吧,帮我解释一下为啥用2的N次幂-1就能得到结果呢?还有就是为啥要-1呢?有啥用啊!
PS:我感觉我要被数学题弄疯了,看来我真的是要搞两本小学数学课本先学习一下了!哎! 2的N次幂就是指把2乘N次 2的2次幂 = 2 x 2
2的3次幂 = 2 x 2 x 2 本帖最后由 heidern0612 于 2020-5-8 10:24 编辑
为啥要用for循环?for循环应该循环什么?……
你不都是每天在头一天的基础上增加一倍吗?
这不就是古代宰相请国王送米那个故事吗?
给个链接了解下:戳我前进 wuqramy 发表于 2020-5-8 10:22
2的N次幂就是指把2乘N次
你是不是表达错了……
是自乘 这是个数学问题,不是编程的事儿
1=2-1
1+2=4-1
1+2+4=8-1
1+2+4+8=16-1
1+2+4+8+16=32-1
……
2^0+2^1+2^2+……+2^n=2^(n+1) - 1
2的n次幂求和得到的就是2的(n+1)次幂减一 sunrise085 发表于 2020-5-8 10:35
这是个数学问题,不是编程的事儿
1=2-1
1+2=4-1
哦,我明白了,刚才百度了一下,这是一个公式,2的N次幂求和公式就是2的n次幂减一,
如果就是每天都是前一天的5倍的话就是5的N次幂减一
谢谢老板~~~突然想起之前数学老师上课说的一句话:不要问这个公式是为什么,照着套公式就就行,哈哈,豁然开朗呀!! heidern0612 发表于 2020-5-8 10:23
为啥要用for循环?for循环应该循环什么?……
你不都是每天在头一天的基础上增加一倍吗?
谢谢大佬,我明白啦,这个就是个数学公式,3QQQ majian890324 发表于 2020-5-8 11:15
哦,我明白了,刚才百度了一下,这是一个公式,2的N次幂求和公式就是2的n次幂减一,
如果就是每天都是 ...
这个公式只对2有效,5的话,就不对了 sunrise085 发表于 2020-5-8 11:25
这个公式只对2有效,5的话,就不对了
嗯嗯,谢谢大佬~{:5_98:}
页:
[1]