zoukankan      html  css  js  c++  java
  • C++用递归实现斐波那契数列

    【题目描述】

    菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

    给出一个正整数a,要求菲波那契数列中第a个数是多少。

    【输入】

    第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1≤a≤20)。

    【输出】

    输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小。

    【输入样例】

    4
    5
    2
    19
    1
    

    【输出样例】

    5
    1
    4181
    1

    来自一枚刚学不久小蒟蒻,

    第一次发博客;

    记得zhx说过:

    “要想理解递归,就要先理解递归”

    emmm真是一点毛病都没有啊!!!

    递归就是一个函数,

    不停的调用自己,

    为了防止死循环,

    需要加特判;

    递归主要是找到那个类似公式的东西(我也不知道叫啥);

    然后写一个函数,调用自己;

     1 #include<iostream>
     2 using namespace std;
     3 int fib(int);
     4 int main()
     5 {
     6     int n,a[200];
     7     cin>>n;
     8     for(int i=1;i<=n;i++)
     9         cin>>a[i];
    10     for(int i=1;i<=n;i++)
    11     {
    12         cout<<fib(a[i])<<endl;
    13     }
    14     return 0;
    15 }
    16 int fib(int x)
    17 {
    18     if(x<=0) return 0;
    19     if(x<=2) return 1;
    20     return fib(x-1)+fib(x-2);
    21 }

    每日打卡O(∩_∩)O

    看不见我看不见我看不见我
  • 相关阅读:
    什么是动态链接库
    <<TCP/IP高效编程>>读书笔记
    C++ 函数
    我的vim配置
    FastReport4.6程序员手册_翻译
    DUnit研究初步
    ADO BUG之'无法为更新定位行....' 解决之道
    极限编程的集成测试工具Dunit
    总结
    项目管理检查清单项目启动
  • 原文地址:https://www.cnblogs.com/sxy2004/p/11450492.html
Copyright © 2011-2022 走看看