A25241. 编程实现:小明将黄色和蓝色的正方形卡片按如下规律摆放:给定一个整数 N,按照规律计算第 N 行有多少张黄色卡片。例如:N = 5;第 5 行有 3 张黄色卡片。输入描述:输入一个整数 N(5≤N≤1000)。输出描述:输出一个整数,表示第 N 行有多少张黄色卡片。样例输入:5 样例输出:3
填空题
容易
知识点
题目描述
编程实现:
小明将黄色和蓝色的正方形卡片按如下规律摆放:

给定一个整数 N,按照规律计算第 N 行有多少张黄色卡片。
例如:N = 5;第 5 行有 3 张黄色卡片。
输入描述:
输入一个整数 N(5≤N≤1000)。
输出描述:
输出一个整数,表示第 N 行有多少张黄色卡片。
样例输入:
5样例输出:
3参考答案
n = int(input( ))
if n <= 4:
res = [0, 1, 1, 2, 3]
print(res[n])
else:
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 1
dp[3] = 2
dp[4] = 3
for i in range(5, n + 1):
dp[i] = dp[i - 2] + dp[i - 4]
print(dp[n])答案解析
动态规划求解,初始化前 4 行,后续按递推公式计算。根据卡片摆放规律,求第 N 行的黄色卡片数量。规律为:
第 1 行:1 张
第 2 行:1 张
第 3 行:2 张
第 4 行:3 张
第 n 行(n ≥ 5):f(n) = f(n-2) + f(n-4)
上一题
下一题