J:神秘数列

题目描述

喜欢探险的Kimi同学在一个山洞中发现了一串神秘的数,这串数的前七项如下:
1, 1, 8, 22, 85, 281, 988, ......
Kimi很想知道这个神秘数列中所蕴含的规律,你能否编写一个程序帮帮他。
当输入一个正整数N时,输出这个神秘数列第N项的值。

输入

单组输入。
输入一个正整数N,N<=50。

输出

输出神秘数列的第N项的值。

样例输入 Copy
8
样例输出 Copy
3382
def S(n):
    dp = [0] * n
#这里创建了一个长度为 n 的列表 dp,用于存储序列的每一项的值。初始时,列表中的所有元素都设为0。
    dp[0] = 1
    dp[1] = 1
    dp[2] = 8
#对于序列的前三项,函数直接给出了它们的值:dp[0] 和 dp[1] 都为 1,而 dp[2] 为 8。这些是基础情况,用于后续的递推计算。
    for i in range(3, n):
        dp[i] = dp[i-1]*3 + dp[i-2]*3 + dp[i-3]*-5
    return dp[n-1]

num = int(input())
result = S(num)
print(result)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值