1、题目描述
斐波那契数列的递推公式为:Fn=Fn-1+Fn-2, 其中F1=F2=1. 请问, 斐波那契数列的第 1 至 202202011200 项(含)中, 有多少项的个位 是 7 。
答案提交
这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
2、解析
首先定义了一个列表b,然后计算了斐波那契数列的前200项,并将每一项的个位数存储在列表b中。然后统计了列表b中前60项数字7的个数x,并计算出202202011200项中包含7的个数为x*y。
实际上,需要考虑斐波那契数列的周期性来计算出202202011200项中数字7的个数。因为斐波那契数列具有周期性,所以计算前60项中数字7的个数并乘以整数商y。
3、python代码
a=[1,1]
b=[1,1]
for i in range(2,200):
x=a[i-1]+a[i-2]
a.append(x)
b.append(x%10)
# print(b)
# [1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5, 6, 1, 7, 8, 5, 3, 8, 1, 9, 0, 9, 9, 8, 7, 5, 2, 7, 9,
# 6, 5, 1, 6, 7, 3, 0, 3, 3, 6, 9, 5, 4, 9, 3, 2, 5, 7, 2, 9, 1, 0,
# 1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5, 6, 1, 7, 8, 5, 3, 8, 1, 9, 0, 9, 9, 8, 7, 5, 2, 7, 9,
# 6, 5, 1, 6, 7, 3, 0, 3, 3, 6, 9, 5, 4, 9, 3, 2, 5, 7, 2, 9, 1, 0,
# 1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5, 6, 1, 7, 8, 5, 3, 8, 1, 9, 0, 9, 9, 8, 7, 5, 2, 7, 9,
# 6, 5, 1, 6, 7, 3, 0, 3, 3, 6, 9, 5, 4, 9, 3, 2, 5, 7, 2, 9, 1, 0,
# 1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5]
x=b[:60].count(7)
y=202202011200//60
print(x*y)