学个好习 2023-04-01 10:40 采纳率: 0%
浏览 28

一道蓝桥杯斐波那契数列题 数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

int a1, a2;
    a1 = a2 = 1;
    int sum = 0, temp;//sum是保存余数的变量 ,temp是为了方便交换数据 
    long n;//因为n>=1 and n<=1000000 
    cin >> n;
    for (long i = 1; i <= n; i++)
    {
        sum = a1 % 10007;
        temp = a2;
        a2 = (a1 + a2) % 10007;
        a1 = temp;
    }
    cout << sum;

上面的for循环是什么意思?

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-04-01 10:53
    关注

    for循环就是依次找Fibonacci数列的第i + 1(a1)和第i + 2项(a2)的值啊

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月1日

悬赏问题

  • ¥15 poi合并多个word成一个新word,原word中横版没了.
  • ¥15 【火车头采集器】搜狐娱乐这种列表页网址,怎么采集?
  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?