当前位置: 首页 > article >正文

【晴问算法】提高篇—动态规划专题—斐波那契数列II

题目描述

给定正整数n,求斐波那契数列的第n项F(n)。
令F(n)表示斐波那契数列的第n项,它的定义是:
当n=1时,F(n)=1;
当n =2时,F(n)=1;
当n>2时,F(n)=F(n-1)+F(n-2)。

输入描述


一个正整数n(1≤n≤10^4)


输出描述


斐波那契数列的第n项F(n)。
由于结果可能很大,因此将结果对10007取模后输出。

输入

1

输出

1

解释

边界定义:边界定义:F(1)=1

样例2

输入

3


输出

2


解释


F(3)=F(2)+F(1)=1+1=2

 

#include <cstdio>

const int MOD = 10007;
const int MAXN = 10000 + 1;
int fib[MAXN];

int main() {
    int n;
    scanf("%d", &n);
    fib[1] = fib[2] = 1;
    for (int i = 3; i <= n; i++) {
        fib[i] = (fib[i - 1] + fib[i - 2]) % MOD;
    }
    printf("%d", fib[n]);
    return 0;
}

这段代码是一个计算斐波那契数列第n项的程序。首先,它定义了MOD为10007,MAXN为10001,然后声明了一个长度为MAXN的整型数组fib用来存储斐波那契数列的值。

在主函数main()中,程序首先读取输入的n值,然后初始化fib数组的前两个元素为1。接下来通过一个循环计算出斐波那契数列从第3项到第n项的值,并且对每个计算结果取模MOD。最后,输出第n项的斐波那契数列的值。


http://www.kler.cn/a/274125.html

相关文章:

  • c/c++ 无法跳转定义
  • C++的封装(十四):《设计模式》这本书
  • 【杂谈】-现代汽车有哪些传感器
  • Redis - Token JWT 概念解析及双token实现分布式session存储实战
  • 【ANGULAR网站开发】初始环境搭建
  • Intent--组件通信
  • NSGA-III算法:如何在多目标优化问题中找到最合适的解
  • Echo服务器学习__01(基础)
  • CSS学习(2)-盒子模型
  • 设计模式在芯片验证中的应用——装饰器
  • 鸿蒙开发入门教程—瀑布流的实战案例
  • v-model的基本使用,v-model原理;v-model绑定;v-model的值绑定;v-model修饰符
  • 开发K8S Operator
  • Flink实时写Hudi报NumberFormatException异常
  • c语言(数据在内存中的存储)
  • EI期刊复现:面向配电网韧性提升的移动储能预布局与动态调度策略程序代码!
  • Element UI +Vue页面生成二维码的方法
  • Javascript抓取京东、淘宝商品数据(商品采集商品详情图片抓取)
  • AI检测识别技术,为智能化视频生产赋能
  • bootstrap精选模板tabler下载
  • 数据分析-Pandas序列滑动窗口配置参数
  • Flutter Widget:StatefulWidget StatelessWidget
  • C++作业day6
  • nodeJs 学习
  • C++_day6:2024/3/18
  • MySQL `COALESCE` 函数