题库首页 › GESP等级认证(Python) › 题目 25968

已知 f[0] = 0 , f[1] = 2 ,并且对 i >= 2 有 f[i] = max(f[i - 1], f[i - 2] + a[i]) 。若数组 a = [0, 2, 7, 9, 3, 1] ,则 f[5] 的值为( )。

A:10
B:11
C:12
D:22

正确答案:C

答案解析

根据递推关系 f[i] = max(f[i - 1], f[i - 2] + a[i]),从已知初值 f[0] = 0、f[1] = 2 出发,依次计算 f[2] 到 f[5]。每一步均比较前一项的值与前两项的值加上当前 a[i] 的结果,取较大者作为当前项的值。数组 a 提供参与递推的具体数值,按索引顺序代入公式逐项迭代即可得到 f[5] 的值。整个过程依赖动态规划的递推机制,每一项仅由前两项决定,无后效性。

试卷来源:202606 CCF-GESP编程能力等级认证Python七级真题

本卷相关题目

在线做题 同科目题库