蓝桥杯入门训练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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql中如何修改表的名字?修改表名?

    mysql中如何修改表的名字?修改表名?mysql>createtablets01liketi_o_sms;#创建表结构.这样的建表方式,不仅仅是表的结构,连带着索引也会同时创建.QueryOK,0rowsaffected(0.02sec)mysql>altertablets01renametots01_new;#修改表名的语法:altertablerenameto/asnew_tablename;QueryOK,0rowsaffected(0.00s.

    2022年5月31日
    60
  • GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)

    GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)普通的时间转换问题我这里就不再罗嗦了 我想大家应该都会那种低级的转换问题吧 现在我向大家总结一下如何转换 GMT 时间格式 这种格式的转换方法网上还不是很多 所以有必要总结一下 也算给有需要的朋友一个小小的帮助啦 首先先来了解一下 GMT 的时间格式 MonFeb1308 00 00GMT 08 002012 可能还会有其他的格式类似 SunSep0 00 00G

    2025年6月14日
    2
  • 前端VSCode常用插件「建议收藏」

    前端VSCode常用插件「建议收藏」前端VSCode常用插件1.Chinese(Simplified)vscode下载完毕是英文版的,先安装这个插件,改为中文版,所以是我们第一个安装的插件。2.AutoRenameTag修改开始标签,结束标签跟着自动变化,比较好用。3.OneDarkPro颜色主题4.格式化代码(vscode系统自带)但是html标签嵌套比较多,可能需要自动格式化比较好,所以我们可以利用vscode自动的功能格式化代码,暂且不用格式化插件,自动保存照样能格式化代…

    2022年7月25日
    7
  • Linux文本编辑器——vim「建议收藏」

    Linux文本编辑器——vim「建议收藏」Linux文本编辑器edpicoemacsnanogVimvimvivim是文本编辑器不是文字处理工具(officelibofficewps)你的运维生涯99.999999%离不开它rhel(centos)里最小化安装没有vim只有vi,记得装包vim基于perl开发的,所以vim依赖perl环境vim有三种模式分别为:…

    2022年7月26日
    5
  • pycharm安装opencv-python_查看pycharm有哪些库

    pycharm安装opencv-python_查看pycharm有哪些库方法1:直接通过cmd命令pipinstallopencv-python方法2:https://www.jb51.net/article/181975.htm

    2022年8月27日
    8
  • uwsgi使用_qemu virtual cpu

    uwsgi使用_qemu virtual cpu导论wsgi全称webservergatewayinterface,wsgi不是服务器,也不是python模块,只是一种协议,描述webserver如何和webapplication通信的规则。运行在wsgi上的web框架有bottle,flask,djangouwsgi和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型,是一个web服务器,实现了W…

    2025年11月1日
    2

发表回复

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

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