A23139. 铺设积木小乐用 1x2 和 1x3 的乐高积木块横向铺满长度为 n(不为0) 的积木条。小乐只能使用 1x2 和 1x3 的格子。可以任意组合这些格子来覆盖小路。格子只能横着铺,不能竖着铺。求不同的铺法总数。def ______①_______ : if ______②_______ : return 0 if x == 2 or x == 3: return ______③_______ re…
填空题
较难
知识点
题目描述
铺设积木
小乐用 1x2 和 1x3 的乐高积木块横向铺满长度为 n(不为0) 的积木条。小乐只能使用 1x2 和 1x3 的格子。可以任意组合这些格子来覆盖小路。格子只能横着铺,不能竖着铺。求不同的铺法总数。
def ______①_______ :
if ______②_______ :
return 0
if x == 2 or x == 3:
return ______③_______
return ______④_______
n = int(input())
print(calc(n))参考答案
def calc(x): # ① 函数命名
if x == 1: # ② 无法铺满的情况
return 0
if x == 2 or x == 3:
return 1 # ③ 基础情况(仅一种铺法)
return calc(x - 2) + calc(x - 3) # ④ 递归求解
n = int(input())
print(calc(n))答案解析
评分标准:
(1)calc(x) 或等效答案;(3分)
(2)x == 1 或等效答案;(2分)
(3)1 或等效答案;(2分)
(4)calc(x-2) + calc(x-3) 或等效答案。(3分)
上一题
下一题