用户:
lmzo查看: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项是多少吗?
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
评论