一、简答题
1、36.米粒问题
阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?根据题意,请完善划线处的代码。
def fun(n):
x = ①
for i in range(n):
②
return x
s = ③
for i in range(64):
s += fun( ④ )
print(s)
2、37.查字典
假如字典为1000页,若用二分法来翻到具体指定的页码,则横线处能正确控制循环体运行的表达式是什么?请完善横线处的代码。x=int(input("请输入要查找的页码(小于1000):"))
flagleft=1
flagright=1000
n=0
while ① :
mid= (flagleft+flagright)//2
n=n+1
if mid>x:
②
elif mid<x:
③
else:
break
print('需要查找的次数为:',n)
3、38.蜗牛爬行
一只蜗牛在如下图所示的数字方格上移动,已知它只能从标号小的方格移动到标号大的相邻方格。现在请你计算:蜗牛从方格M开始爬到方格N,1<=M<N<=1000,有多少种移动路线?以下用Python编程实现,请你补全代码。
def woniu(m , n):
k = ①
a = [0] * (k+1)
a[1]= 1
a[2]= ②
for i in range(3, ③ ):
a[i]= ④
return a[k]
m = int(input())
n = int(input())
print(woniu(m,n))
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!