我要上一堂Python的在线计算机科学入门课。一道作业题说象棋的发明者要了一粒米。第一天1粒,第二天2粒,第三天4粒,第五天8粒……一直到68天。我必须创建一个函数来实现这一点,返回输入的方块数的颗粒数。你知道吗
我相信我所要做的就是从用户那里得到正方形的数目。将用户输入的所有2的倍数相加,然后加1。我不知道怎么做。这才是令人恼火的;你知道该做什么,但不知道怎么做。你知道吗
def function(li):
for i in range(len(li))
#I need a loop that adds all the multiples of 2 up to the point of the user's input than returns that value.
function()
同样可以通过将序列
1,2,4,8...
看作2^0,2^1,2^2,2^3...
来实现。您可以创建一个简单的函数,根据天数给出金额。你知道吗按照你的逻辑,谷物从1开始,比前一天增加一倍
第一天:1(2**0)
第二天:2(2**1)
第三天:4(2**2)
第四天:8(2**3)
所以第四天会有
2**0 + 2**1 + 2**2 + 2**3
使用公式:
我们得到
2**(m+1) -1
当x =2
因此,在第四天(即,从零基指数开始,m=3),总粒数将是
2**4 -1 =15
基于上述逻辑,您的功能应该是:
相关问题 更多 >
编程相关推荐