C++实现斐波那契第N项非递归与递归实现的时间比较
/*
* 斐波那契数列.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项非递归与递归实现的时间比较的更多相关文章
- 找斐波那契数列中的第N个数——递归与函数自调用算法
题目描述 Description 用递归的方法求斐波那契数列中的第N个数 输入输出格式 Input/output 输入格式:一行,一个正整数n输出格式: 一行,一个数,表示斐波那契数列中的第N个数 ...
- 1064. 计算斐波那契第n项 通项公式
题目描述 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1 f(n)=f(n-1)+f(n-2)(n>=2) 输入 一行 ...
- AcWing 1303. 斐波那契前 n 项和
输出斐波那契数列前 n 项和 对m取摸的结果 #include<bits/stdc++.h> #define LL long long #define N 3 using namespac ...
- The sum - SGU 122(斐波那契前N项和)
直接上代码....... ======================================================================================= ...
- HDU 1715 斐波那契数列1000项
二维数组模拟大数加法就可以了,不太难,直接上代码了. #include<stdio.h> #include<string.h> #include<math.h> # ...
- 斐波那契数列n项的值。(递归和非递归算法Golang实现)
递归实现: func f(num int) int { if num == 1 || num == 2 { return 1 } return f(num-1) + f(num-2) } 非递归实现: ...
- 斐波那契数列 Java 不同的实现方法所需要的时间比较
# 首先我们直接看一个demo以及他的结果 public class QQ { public static void main(String[] args) throws ParseException ...
- 矩阵快速幂 求斐波那契第N项
#include<cstdio> #include<algorithm> #include<cstring> #include<iostream> us ...
- Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数
Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...
随机推荐
- [NOIP2002] 提高组P1032 字串变换
题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B ...
- 【BZOJ2560】串珠子(状压DP,容斥原理)
题意: 铭铭有n个十分漂亮的珠子和若干根颜色不同的绳子.现在铭铭想用绳子把所有的珠子连接成一个整体.现在已知所有珠子互不相同,用整数1到n编号.对于第i个珠子和第j个珠子,可以选择不用绳子连接,或者在 ...
- msp430入门编程35
msp430中C语言的可移植--规划软件层次
- Bootstrap3 为何无法显示Glyphicons 图标
Bootstrap3 为何无法显示Glyphicons 图标 在CSS引入字体即可解决 @font-face { font-family: 'Glyphicons Halflings'; src: u ...
- Sudoku Killer--hdu1426(数独 跟上一题差不多 但是输入时问题)
http://acm.hdu.edu.cn/showproblem.php?pid=1426 注意输入问题就行 还是dfs #include<stdio.h> #include<st ...
- Distinct Subsequences (dp)
Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...
- google --SwitchyOmega and switchysharp ***
https://github.com/FelisCatus https://chrome.google.com/webstore/search/Proxy%20SwitchySharp%20?hl=z ...
- burpsuite破解版
来源:http://www.vuln.cn/8847
- linux 查找目录下的文件内容并替换(批量)
2.sed和grep配合 命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./` 作用:将当前目录(包括子目录)中 ...
- MySQL学习系列之触发器
触发器简介 触发器作用: 监控某种事件并触发某种动作 触发语法: CREATE TRIGGER trigger_name trigger_event ON tbl_name FOR EACH ROW ...