A45712. 编写程序计算 n(n<=10) 位数中, 包含奇数个 5 的个数。 比如 1 位数中包含奇数个 5 的个数是 1 个。 利用递推方法计算 n 位数包含奇数个 5 的个数。 完善划线处的代码。c = [[0 for i in range(2) ] for i in range(11) ] #存放奇数个 5 和偶数个 5 的二维列表c[1][0] = 9 #一位数中包含偶数个 5 的个数c[1][1…
填空题
较难
知识点
题目描述
编写程序计算 n(n<=10) 位数中, 包含奇数个 5 的个数。 比如 1 位数中包含奇数个 5 的
个数是 1 个。 利用递推方法计算 n 位数包含奇数个 5 的个数。 完善划线处的代码。
c = [[0 for i in range(2) ] for i in range(11) ] #存放奇数个 5 和偶数个 5 的二维列
表
c[1][0] = 9 #一位数中包含偶数个 5 的个数
c[1][1] = 1 #一位数中包含奇数个 5 的个数
k = 9
n = 5
for i in range(2, ① ) :
if i == n:
k = ②
c[i][0] = c[i-1][1] + k * c[i-1][0]
c[i][1] = ③
print(c[n][1])
参考答案
c = [[0 for i in range(2) ] for i in range(11) ] #存放奇数个 5 和偶数个 5 的二维列表
c[1][0] = 9 #一位数中包含偶数个 5 的个数
c[1][1] = 1 #一位数中包含奇数个 5 的个数
k = 9
n = 5
for i in range(2, n+1) :
if i == n:
k = k - 1
c[i][0] = c[i-1][1] + k * c[i-1][0]
c[i][1] = k*c[i-1][1] + c[i-1][0]
print(c[n][1])答案解析
评分标准:
① n+1 ; (3 分)
② k - 1 ; (3 分)
③ k*c[i-1][1] + c[i-1][0] 。 (4 分)
上一题
下一题