用户:Ray先生查看:0 回复:0 评论:0 创建时间:2020-08-19T01:11:44
算法空间第三十层的实验数据-七,他的答案是不是错啦???
题目:
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项是多少吗?
一个整数N。
一个整数,即数列的第N项。
6 输出: 13 我的答案: l = []
def a(n):
global l
if (n == 1):
l.append(1)
return 1
if (a(n - 1) - n <= 0 or ((a(n - 1) - n) in l)):
return (a(n - 1) + n)
l.append((a(n - 1) + n))
return (a(n - 1) - n)
print(a(int(input())))