生成斐波拉契数列

15人阅读 评论(1) 收藏 举报
分类:

斐波拉契数列介绍

  1. 斐波拉契数列除了第一个和第二个数为1外,以后的数都是前面两个数之和;
  2. 数学表示为:F(0)=1,F(1)=1;N>=2;F(N) = F(N-1)+F(N-2);
  3. 最后产生斐波那契数列如下:
    1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …

代码实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <iostream>
#include <vector>

using namespace std;
/************************************************************************/
/* 生成斐波拉契数列,seq输入必须是空的vector,count是需要产生的数列长度;
产生的数列保存在seq中,运行正常返回实际产生的数列长度,异常返回0*/
/************************************************************************/
unsigned Fibonacci_Seq_Gen(vector<long long> &seq, unsigned count)
{
    unsigned idx = 2;
    long long tempNum = 0;

    if(count <= 2)
    {
        cout<<"The input parameter is illegal"<<endl;
        return 0;
    }

    seq.push_back(1);
    seq.push_back(1);
    do 
    {
        tempNum = seq[idx-1]+seq[idx-2];
        seq.push_back(tempNum);
        idx++;
    } while (idx<count);

    return count;
}

int main(int argc, char* argv[])
{
    //vector元素类型为long long,因为unsigned很容易就越界;
    vector<long long> seq;
    cout<<"The Fibonacci_Seq_Gen out:"<<Fibonacci_Seq_Gen(seq, 50)<<endl;

    for(int i = 0;i<seq.size();i++)
    {
        cout<<seq[i]<<endl;
    }
    return 0;
}
查看评论

斐波拉契数列

  • 2013年03月30日 18:10
  • 298B
  • 下载

java编程:三种方法实现斐波那契数列

编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 方法一:public class Fibonacci1{  //定义三个变量方法  public static void main(Stri...
  • han_ying_ying
  • han_ying_ying
  • 2015-01-24 12:35:40
  • 755

汇编语言(斐波拉契数列)

  • 2017年05月29日 20:43
  • 109KB
  • 下载

C/C++语言编程之斐波拉契数列

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,1094...
  • yang_teng_
  • yang_teng_
  • 2016-12-04 19:11:49
  • 600

python 用生成器生成斐波那契数列

环境:python shell 3.5.1 在学习生成器,同时琢磨了下经典的斐波那契数列问题,用如下简短的代码: def myFun(): a=0 b=1 print(a,end=' ') w...
  • y277an
  • y277an
  • 2016-02-29 09:26:36
  • 755

基于C语言实现斐波拉契数列

  • 2017年12月19日 10:45
  • 177KB
  • 下载

递归的斐波拉契数列解法

  • 2014年08月18日 15:58
  • 492B
  • 下载

用Python实现斐波拉契数列

问题描述著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到:1, 1, 2, 3, 5, 8, 13, 21, 34, …...
  • qq_20976745
  • qq_20976745
  • 2016-07-08 15:08:51
  • 649

计蒜客 - 挑战难题39 - 斐波那契数列 - Python之路

Python练手之路计蒜客 - 挑战难题39 - 斐波那契数列源地址:http://nanti.jisuanke.com/t/39原题目:百度熊对数学一直都非常感兴趣。最近在学习斐波那契数列的它,向你...
  • TonyKe000
  • TonyKe000
  • 2015-08-09 14:56:25
  • 884

Python笔记-列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator
  • qq_24885695
  • qq_24885695
  • 2017-04-03 11:25:39
  • 912
    个人资料
    等级:
    访问量: 1948
    积分: 133
    排名: 116万+