用户:
lmzo查看:74 回复:3 评论:6 创建时间:2021-05-15T00:02:40
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])点赞0
评论
不行啊
再试试吧
什么错误

可以的啊
点赞0
评论
真的不行,你看: lsk@LAPTOP-6AV4GC5V:/mnt/d$ python3 test24.py N: 6 2 [1, 3] 3 [1, 3, 6] 4 [1, 3, 6, 2] 5 [1, 3, 6, 2, 7] 6 [1, 3, 6, 2, 7, 13] 13 lsk@LAPTOP-6AV4GC5V:/mnt/d$
或者你弄一下这个吧!谢谢! 阿短发现只由1组成的数字是一个很神奇的数字,它可以被基本上所有的除5的倍数以外的奇数整除。比如说111可以被3整除,111111可以被7整除。如果要整除41,只需要5个1(11111)。 阿短通过计算发现,17是第一个需要超过10位的“1”才能整除的数(需要16个1)。 训练师,你们知道第一个需要超过K个“1”才能整除的数是多少吗?
铁汁,就要最后一个数字啊,其他的都是调试加的输出啊,我给你的源码里把那些输出都删了
第二题
inp = int(input())
i = 1
while True:
num = int("1" * i)
if (num % inp) == 0:
print(num)
break
else:
i += 1点赞0
评论