猫史档案馆


怎么弄啊?

用户:lmzolmzo查看:0 回复:1 评论:0 创建时间:2021-05-14T23:58:09


Recamán's数列是一个非常有趣的数列。它的第一项是1,后面的第n项遵从规律:a(n) = a(n-1) - n ;但是如果求得的a(n)小于等于0或者曾经在数列a(n)出现过,则a(n)的值为:a(n) = a(n-1) + n 。

这个数列的前几项为1,3,6,2,7,13······训练师,你能算出这个数列的第N项是多少吗?


回复

上一页1 页 / 共 1下一页
lsk666666lsk666666

result = [1]

def genResult(n):
        an = result[n-2] - n
        if (result.__contains__(an)) or (an <= 0):
                an = result[n-2] + n
        result.append(an)

if __name__ == "__main__":
        n = int(input("N: "))
        for i in range(2, n+1):
                genResult(i)
        print(result[n-1])

点赞1


评论