美团点评2017秋招笔试编程题--大富翁游戏

大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。

输入描述:
输入包括一个整数n,(1 ≤ n ≤ 6)

输出描述:
输出一个整数,表示投骰子的方法

输入例子1:
6

输出例子1:
32

 

参考:

归纳:f(n) = f(n-1)+f(n-2)+f(n-3)+....+f(1)+1,f(1)=1,f(2)=2.则f(n)=2^(n-1)

while(True):
    try:
        n = int(input())
        if n==1:
            print(1)
        elif n==2:
            print(2)
        else:
            s = [0]*(n+1)
            s[1] = 1
            s[2] = 2
            for i in range(3,n+1):
                s[i] = 1+sum(s[1:i])
            print(s[-1])
    except:
        break

您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例

 

posted @ 2020-08-22 12:50  Andy_George  阅读(276)  评论(0编辑  收藏  举报