蓝桥杯入门训练Fibonacci数列 C语言

蓝桥杯入门训练Fibonacci数列 C语言Fibonacci 数列 C 语言问题描述 Fibonacci 数列的递推公式为 Fn Fn 1 Fn 2 其中 F1 F2 1 当 n 比较大时 Fn 也非常大 现在我们想知道 Fn 除以 10007 的余数是多少 输入格式输入包含一个整数 n 输出格式输出一行 包含一个整数 表示 Fn 除以 10007 的余数 说明 在本题中 答案是要求 Fn 除以 10007 的余数 因此我们只要能算出这个余数即可 而不需要先计

Fibonacci数列 C语言

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

输入格式
输入包含一个整数n。

输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。

说明: 在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入

1 <= n <= 1,000,000。

int n; scanf("%d",&n); int a[n]; 

但是,由题目可知,我们只需要打印出最后的结果就行了,也就是说,最终我们只会用到数组最后一个空间中的值,前面的空间依然是一种浪费。

So,这个方法Pass…

于是,笔者老老实实地用草稿纸将递归法回忆了起来 (因为懒,不想翻课本 ),写下以下这段超级简单地代码:

#include <stdio.h> int Fibonacci(int n) { if(n==1||n==2) return 1; else return (Fibonacci(n-1)+Fibonacci(n-2))%10007; } int main(void) { int n; while(n<1||n>) scanf("%d",&n); printf("%d",Fibonacci(n)); } 

编译运行毫无问题,于是信心满满地粘贴到了蓝桥杯评测系统…

结果。。。

0分!

0分!!

0分!!!

#include <stdio.h> int main() { unsigned long s=0,f1=1,f2=1,f3=1,n=0; scanf("%d",&n); if(n>2) for(s=3;s<=n;s++) { f3=(f2+f1)%10007; f1=f2; f2=f3; } printf("%d",f3); return 0; } 

看上去,感觉确实厉害了不少 ,简洁精悍,于是我尝试将它粘贴上去。。。果然正确了。。。

不过,本小(da)白也不知道是不是这个理,如果有大神看到这篇文章,欢迎指正!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233734.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月25日 下午5:01
下一篇 2025年6月25日 下午5:22


相关推荐

  • fiddler和charles哪个好用_电脑15分钟自动重启

    fiddler和charles哪个好用_电脑15分钟自动重启前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年7月28日
    13
  • c#attribute应用_sql float

    c#attribute应用_sql float今天研究了一下C#中的Attributes的用法,感觉很有用,现总结以下:    在前台用JS写的脚本方法,除了可以直接用在前台控件的属性中,还可以在后台运用。      即在后台页面加载时,调用JS方法。语法格式有两种,如下:      第一种写法:控件ID名.Attributes.Add(“事件名称”,“JS方法”);      如:一个按钮控件Butto

    2026年4月13日
    3
  • Idea激活码最新教程2021.1.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2021.1.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2021 1 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2021 1 1 成功激活

    2025年5月22日
    3
  • python错误之ImportError: No module named ‘cPickle'[通俗易懂]

    python错误之ImportError: No module named ‘cPickle'[通俗易懂]在python3.x下使用如下代码:importcPickleaspk会报如下错误:ImportError:Nomodulenamed’cPickle’原因:python2有cPickle,但是在python3下,是没有cPickle的;解决办法:将cPickle改为pickle即可,代码如下:importpickleaspkpython编程需要格外注意

    2022年6月17日
    85
  • [乐意黎原创]联想G470老笔记本升级改造

    [乐意黎原创]联想G470老笔记本升级改造有台联想G470,2012年五月花了3.1K左右入手,至今也是快有七年的老笔记本了,之前升级过一次内存4G1333,2012-11-10某东入手,花了126块,原装的记忆科技2G,共6G内存。前年从Win7升级到Win10后,开机四五分钟,弄得都是经常休眠而不关机了。如今用起来奇慢无比,实在忍受不了。痛下定决心,前几天升级了。升级配件如下:(下属硬件于2019年1-2月件陆…

    2022年5月24日
    174
  • 二维数组转稀疏数组,稀疏数组存读入磁盘

    二维数组转稀疏数组,稀疏数组存读入磁盘稀疏数组当一个数组中大部分元素为 0 或者为同一个值得情况时 可以使用稀疏数组来保存该数组 稀疏数组的预览图一如此图 可看成一个二维数组 arr 11 11 其中绝大部分元素均为 0 其中非 0 的元素有三个 他们储存在二维数组的中的位置分别为 arr 1 4 arr 2 1 arr 3 4 将其保存到稀疏数组 sparesArr 如图二其中 row 代表行 col 代表列 vaule 代表元素的值图二中的第一行数字分别代表着原二维数组的行数为

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号