zoukankan      html  css  js  c++  java
  • 【编程小题目1】求解斐波拉契数列问题

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
    对兔子,假如兔子都不死,问每个月的兔子总数为多少? 
    程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 

    斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
    Fibonacci 数列定义:
    n = 1,2 时,fib(n) = 1
    n > 2 时,fib(n) = fib(n-2) + fib(n-1)

    // 递归算法求解Fibonacci 数列

    #include <iostream>

    using namespace std;

    int Fib(int n)    // 递归函数
    {
        if(n == 1 || n == 2)
        {
            return 1;
        }
        else
        {
            return Fib(n - 2) + Fib(n - 1);
        }
    }
     
    int main()
    {
        int n;
        cout << "Please input the N:";
        cin >> n;
        cout << "The sum is " << Fib(n) << endl;
         
        return 0;
    }
     
     
     
    // 循环迭代求解Fibonacci 数列
    #include <iostream>
    using namespace std;
     
    long Fib(int n)
    {
      long p = 1, q = 1;
      long r;
     
      if(n == 1 || n == 2)
      {
        return 1;
      }
      else
      {
        for(int i =3; i <= n; ++i)     //循环迭代
        {
          r = p + q;
          p = q;
          q = r;
        }
     
        return r;
      }
    }
     
    int main()
    {
      int n;
      cout << "Please input the N:";
      cin >> n;
      cout << "The sum is " << Fib(n) << endl;
     
      return 0;
    }
  • 相关阅读:
    PHP获取指定的时间戳
    Elasticsearch
    git有用基本指令
    php中的json_decode
    有用的sql积累
    git submodule使用原理
    mysql重复插入时insert更改为update更新操作
    jpm
    awk 语句
    tomcat 发布简单的html网站
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4435061.html
Copyright © 2011-2022 走看看