蓝桥杯第十三届国赛PythonB组题解

发布时间:2023-11-04 12:00

蓝桥杯第十三届国赛PythonB组题解

【写在前边】

这次的题还是比较难的,只做出来7道,交上去6道,还有一半是暴力做的。只求国三了

开局两道填空题用了快两个小时,直接搞崩了心态。。淦!

本题解仅代表个人观点及思路,不代表标准答案。欢迎各位巨佬指导交流。

所有代码均存放于仓库:

Github:https://github.com/AYO-YO/Algorithm/tree/蓝桥杯_国赛

Gitee: https://gitee.com/ayo_yo/Algorithm/tree/蓝桥杯_国赛

试题A:斐波那契与7(5分)

【问题描述】
斐波那契数列的递推公式为: F n = F n − 1 + F n − 2 F_n = F_{n-1} + F_{n-2} Fn=Fn1+Fn2,其中 F 1 = F 2 = 1 F_1 = F_2 = 1 F1=F2=1
请问,斐波那契数列的第 1 1 1 202202011200 202202011200 202202011200项(含)中,有多少项的个位是 7 7 7

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


【思路分析】

这道题又是一个超大数,斐波那契本来就是指数级增长,直接爆肯定是不行的。

经过两位大佬@m0_62944359的勘误,原方法是错误的。

同时由评论区大佬@秋雨洗鸡肉提醒,斐波那契数列的个位数60个为1轮,直接1000内的数+100内的数是不对的,会导致部分数错误计算。

因此在此写出大佬@秋雨洗鸡肉的正确方法:

  • 斐波那契数列个位数60个为一个循环

  • 60个数中共有8个7

    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 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
    
  • 因此,最终结果应为:

    202202011200/60
    Out[3]: 3370033520.0
    _*8
    Out[4]: 26960268160.0
    

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号