📅  最后修改于: 2023-12-03 15:08:04.531000             🧑  作者: Mango
给定一个序列 4,2,2,3,6,…
,我们需要编写一个函数来查找并返回该序列中的第 N
个项。
N
个元素为止。N
个元素即可。def find_nth_term(n):
if n == 1:
return 4
elif n == 2:
return 2
else:
prev_prev = 4
prev = 2
for i in range(3, n+1):
curr = min(prev, prev_prev)
prev_prev = prev
prev = curr
return curr
# 测试
print(find_nth_term(5)) # 输出:3
print(find_nth_term(10)) # 输出:1
n=1
时,返回 4
,当 n=2
时,返回 2
,这两个是序列的固定元素。n
,我们需要通过循环计算,一次计算一个元素,最后计算出第 n
个元素。prev_prev
和 prev
,根据序列规律,当前元素是前两个元素中较小的一个。我们通过构造测试数据和对序列规律的分析,快速实现了找到序列中第 N
个元素的函数。这样的思考方式在实际编程中也会经常用到。