有一个古老的“小麦和棋盘”的问题:如果一个棋盘把小麦放在每个方格上,那么第一个方块上就有一个粒,第二个方块上有两个,第三个方块上有四个,等等(以后每个方格上的粒数翻了一番)。
grains = 1
for square in range(1, 64+1):
print(square, grains)
grains *= 2我如何编程它,用户将键入一个特定的平方数,并得到正确的数量的粮食为每个特定的瓷砖?例:输入=5,答案是16,等等,我需要使用范围函数.(如果可能的话)。
谢谢!
发布于 2017-12-03 18:44:09
让用户在变量square中输入平方号。
然后我们就可以:
grains = 2 ** (square - 1)
print(grains)基本上,你会发现每个正方形中都有2^(n-1)颗粒。这样就简化了问题。
(假设正方形从1开始,而不是0)
发布于 2017-12-03 18:24:09
瓷砖上的晶粒数= 2^nrTile。因此,询问输入并返回2^input。
https://stackoverflow.com/questions/47621670
复制相似问题