/*
* 斐波那契数列.cpp
*
* Created on: 2018年4月9日
* Author: soyo
*/
#include<iostream>
#include<ctime>
using namespace std;
//# define CLOCKS_PER_SEC ((clock_t) 1000000) 它表示1秒钟里有多少个嘀嗒个数。
int main()
{
long long Fibonaci(int n);
long long fibi(int n);
int n,FibN,FibN2;
clock_t start,finsh,time;
cin>>n;
start=clock();
FibN=Fibonaci(n);
finsh=clock();
time=finsh-start;
cout<<"斐波那契数列第"<<n<<"项为:"<<FibN<<"运行时间为:"<<time<<"微秒"<<endl;
start=clock();
FibN2=fibi(n-);
finsh=clock();
time=finsh-start;
cout<<"(递归)斐波那契数列第"<<n<<"项为:"<<FibN2<<"运行时间为:"<<time/<<"秒"<<endl;
}
long long Fibonaci(int n)
{
int result[]={,};
if(n<)
return result[n];
long long NumOne=;
long long NumTwo=;
long long fibN=;
for(int i=;i<n;i++)
{
fibN=NumOne+NumTwo;
NumOne=NumTwo;
NumTwo=fibN;
}
return fibN;
}
long long fibi(int n) //递归实现
{
if(n==)
return ;
if(n==)
return ;
else
return fibi(n-)+fibi(n-);
}

结果:

斐波那契数列第47项为:1836311903运行时间为:4微秒
(递归)斐波那契数列第47项为:1836311903运行时间为:19秒

C++实现斐波那契第N项非递归与递归实现的时间比较的更多相关文章

  1. 找斐波那契数列中的第N个数——递归与函数自调用算法

    题目描述 Description 用递归的方法求斐波那契数列中的第N个数 输入输出格式 Input/output 输入格式:一行,一个正整数n输出格式: 一行,一个数,表示斐波那契数列中的第N个数  ...

  2. 1064. 计算斐波那契第n项 通项公式

    题目描述 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1         f(n)=f(n-1)+f(n-2)(n>=2) 输入 一行 ...

  3. AcWing 1303. 斐波那契前 n 项和

    输出斐波那契数列前 n 项和 对m取摸的结果 #include<bits/stdc++.h> #define LL long long #define N 3 using namespac ...

  4. The sum - SGU 122(斐波那契前N项和)

    直接上代码....... ======================================================================================= ...

  5. HDU 1715 斐波那契数列1000项

    二维数组模拟大数加法就可以了,不太难,直接上代码了. #include<stdio.h> #include<string.h> #include<math.h> # ...

  6. 斐波那契数列n项的值。(递归和非递归算法Golang实现)

    递归实现: func f(num int) int { if num == 1 || num == 2 { return 1 } return f(num-1) + f(num-2) } 非递归实现: ...

  7. 斐波那契数列 Java 不同的实现方法所需要的时间比较

    # 首先我们直接看一个demo以及他的结果 public class QQ { public static void main(String[] args) throws ParseException ...

  8. 矩阵快速幂 求斐波那契第N项

    #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> us ...

  9. Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数

    Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...

随机推荐

  1. 【网络流】codeforces C. Heidi and Library (hard)

    http://codeforces.com/contest/802/problem/C

  2. DatePickerDialog

    package com.pingyijinren.helloworld.activity; import android.app.DatePickerDialog; import android.su ...

  3. HDU 5700 区间交

    枚举起点 二分终点 树状数组check #include<iostream> #include<cstring> #include<cmath> #include& ...

  4. [Bzoj1821][JSOI2010]Group 部落划分 Group(并查集)(二分答案)

    1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2949  Solved: 1392[S ...

  5. Java的基本运算符

    以下内容引用自http://wiki.jikexueyuan.com/project/java/basic-operators.html: Java针对操控变量提供了一组丰富的运算符.可以将所有的Ja ...

  6. 下一代的中间件必须是支持docker规范的

    下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路. 什么是 Docker? 答案是:Docker 是下一代的云计算模式.Docker 是下一代云计算的主流趋势. Do ...

  7. SeaGlass:手工搭建伪基站监控系统

    “伪基站”即假基站,设备一般由主机和笔记本电脑或手机组成,通过短信群发器.短信发信机等相关设备能够搜取以其为中心.一定半径范围内的手机卡信息,利用2G移动通信的缺陷,通过伪装成运营商的基站,冒用他人手 ...

  8. [转]图解eclipse 查看原始类出现The jar file rt.jar has no source attachment

    原文:http://blog.csdn.net/u011514810/article/details/53196371 ---------------------------------------- ...

  9. History(历史)命令用法 15 例

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...

  10. VC++ error C1083 无法打开包括文件 fstream.h,iostream.h怎么办

    1 如下图所示,VS中不支持iostream.h和fstream.h的说法   2 改成下面三行就可以编译通过了 #include<iostream> #include <fstre ...