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


相关推荐

  • 【解决方案】Pyinstaller打包exe文件详细教程

    【解决方案】Pyinstaller打包exe文件详细教程在业务场景中,经常需要Python开发一些小程序/脚本/GUI界面,交付给一些小白或未安装Python的小伙伴们使用。噔噔蹬蹬pyinstaller闪亮登场场景说明使用Pyinstaller将Python脚本或者项目打包,生成可执行的.exe文件。Pyinstaller是一个很不错的免费打包工具,支持Windows,Linux和MacOS,完美支持32位和64位系统。pyinstaller安装pipinstallpyinstaller打包参数#常用打包参数#-F.

    2022年6月16日
    32
  • 别踩坑!使用MySQL唯一索引请注意「建议收藏」

    别踩坑!使用MySQL唯一索引请注意「建议收藏」背景在程序设计中了,我们往往需要确保数据的唯一性,比如在常见的注册模块,我们需要确保一个手机号只能注册为一个账号。这种情况下,我们的程序往往是第一道关卡,用户来注册之前,首先判断这个手机号是否已经注册,如果已经注册则返回错误信息。但是我们不能确保同时有两个人使用同一个手机号注册到我们的系统中,因此这里就需要在更深的层次去确保手机号的唯一性了。不同存储方案,解决方式不一样,这里以MySQL为例,我…

    2026年2月1日
    5
  • 动态规划应用–最长递增子序列 LeetCode 300[通俗易懂]

    动态规划应用–最长递增子序列 LeetCode 300[通俗易懂]文章目录1.问题描述2.解题思路2.1回溯法求解2.2动态规划1.问题描述有一个数字序列包含n个不同的数字,如何求出这个序列中的最长递增子序列长度?比如2,9,3,6,5,1,7这样一组数字序列,它的最长递增子序列就是2,3,5,7,所以最长递增子序列的长度是4。2.解题思路2.1回溯法求解/***@description:最长递增子序列*@author:m…

    2022年5月5日
    32
  • oracle错误 904,EXP-00008: ORACLE error 904 encountered的解决方法「建议收藏」

    oracle错误 904,EXP-00008: ORACLE error 904 encountered的解决方法「建议收藏」EXP-00008:ORACLEerror904encountered的解决方法发表于:2007-06-22来源:作者:点击数:标签:【错误情况】[oracle@ccdevsvradmin]$expwmap/pass@jackeydbExport:Release8.1.7.4.0-ProductiononFriOct811:28:372004(c)Co…

    2025年12月7日
    11
  • linux PS1 提示符定义[通俗易懂]

    linux PS1 提示符定义[通俗易懂]PS1:就是用户平时的提示符。PS2:第一行没输完,等待第二行输入的提示符。Linux系统提示符是用系统变量PS1来定义的。一般系统默认的形式是:[username@host工作目录]$.用e

    2022年7月4日
    30
  • fastclick插件

    fastclick插件fastclick插件可以解决移动端点击延迟300ms的bug首先引入插件fastclick在项目中导入插件document.addEventListener(‘DOMContentLoaded’,function(){FastClick.attach(document.body);},false);…

    2022年6月19日
    80

发表回复

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

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