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;
    }
  • 相关阅读:
    【Python】使用socketserver建立一个异步TCP服务器
    阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍
    练习题|并发编程
    log4j写数据库存在单引号问题
    javascript复制网页表格内容
    在cxf中使用配置避免增加字段导致客户端必须更新的问题
    启用了不安全的 HTTP 方法
    会话标识未更新
    跨站点请求伪造
    java操作properties文件
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4435061.html
Copyright © 2011-2022 走看看