解题思路:不想思考的话直接2*(2^n-1)就行了,这里用递归的话就是An=2*A(n-1)+2,这里用一个简单的动态规划表示存储每一步递归的结果
注意事项:动态规划常见问题要注意,下标尽量从1开始,不然容易搞混,不过这里数据简单,注不注意看个人吧
参考代码:
a=int(input())
dp=[0]*(a+1)#动态规划列表存储每一步递归结果
dp[1]=2#只有两个棋时用2步
for i in range(2,a+1):
dp[i]=2*dp[i-1]+2#递归公式
print(dp[a])
0.0分
1 人评分
永远的丰碑 (C语言代码)浏览:656 |
Hello, world! (C语言代码)浏览:1202 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1031 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:936 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:636 |
拆分位数 (C语言代码)浏览:1328 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:545 |
回文数字 (C语言代码)浏览:2510 |