#include <stdio.h>
#include <iostream>
using namespace std;
long long fibs1(int in_iN) {
if(in_iN < ) {
return -;
}else if(in_iN == ) {
return ;
}else if(in_iN == ) {
return ;
}
long long t_i1 = ;
long long t_i2 = ;
long long t_iValue = ;
int t_k = ;
while(t_k <= in_iN) {
t_iValue = t_i1 + t_i2;
t_i1 = t_i2;
t_i2 = t_iValue;
t_k ++;
}
return t_iValue;
} long long fibs2(int in_iN) {
if(in_iN < ) {
return -;
}else if(in_iN == ) {
return ;
}else if(in_iN == ) {
return ;
}else {
return fibs2(in_iN - ) + fibs2(in_iN - );
}
}
int main()
{
int in_iN = ;
cout << fibs1(in_iN) << endl;
cout << fibs2(in_iN) << endl;
cin >> in_iN;
return ;
}

时间复杂度O(n),空间复杂度O(1)解斐波那契数列的更多相关文章

  1. HDOJ2041_超级楼梯(斐波拉契数列)

    正常简单题:通过仔细观察推断即可看出这是一个斐波拉契数列的题目. HDOJ2041_超级楼梯 在做这题的时候我误入了思维盲区,只想着什么方法可以解决,没有看出是斐波拉契数列.因此第一次用组合数方法打了 ...

  2. 斐波拉契数列加强版——时间复杂度O(1),空间复杂度O(1)

    对于斐波拉契经典问题,我们都非常熟悉,通过递推公式F(n) = F(n - ) + F(n - ),我们可以在线性时间内求出第n项F(n),现在考虑斐波拉契的加强版,我们要求的项数n的范围为int范围 ...

  3. Python开发【算法】:斐波那契数列两种时间复杂度

    斐波那契数列 概述: 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, ...

  4. 经典算法详解(1)斐波那契数列的n项

    斐波那契数列是一个常识性的知识,它指的是这样的一个数列,它的第一项是1,第二项是1,后面每一项都是它前面两项的和,如:1,1,2,3,5,8,13,21,34,55,89,144,233…… 说明:由 ...

  5. 斐波那契数列的三种C++实现及时间复杂度分析

    本文介绍了斐波那契数列的三种C++实现并详细地分析了时间复杂度. 斐波那契数列定义:F(1)=1, F(2)=1, F(n)=F(n-1) + F(n-2) (n>2) 如何计算斐波那契数 F( ...

  6. [剑指offer] 7. 斐波那契数列 (递归 时间复杂度)

    简介: 杨辉三角每条斜线上的数之和就构成斐波那契数列. 思路: 参考文章:https://mp.weixin.qq.com/s?src=11&timestamp=1551321876& ...

  7. 详解PHP如何实现斐波那契数列的简单实例

    文章来自:有解网 http://www.youjieweb.com/original/index/articleId/64.html 使用场景: 面试 本文讲的是如何用php实现PHP实现斐波那契数列 ...

  8. 算法 递归 迭代 动态规划 斐波那契数列 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  9. 剑指Offer - 九度1387 - 斐波那契数列

    剑指Offer - 九度1387 - 斐波那契数列2013-11-24 03:08 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: ...

随机推荐

  1. 小强的HTML5移动开发之路(17)——HTML5内联SVG

    来自:http://blog.csdn.net/dawanganban/article/details/18189181 一.什么是SVG 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集) ...

  2. javascript语法之循环语句小练习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. H5学习之旅-H5的框架(13)

    H5框架语法介绍 :frame:框架对于页面的设计有很大的作用 frameSet:框架集标签定义如何将窗口分割为框架 ,每一个frameset定义一些列行或者列,rowS/COLS规定了每行或者每列占 ...

  4. C语言的引用计数与对象树

    引用计数与对象树 cheungmine 2013-12-28 0 引言 我们经常在C语言中,用指针指向一个对象(Object)的结构,也称为句柄(Handle),利用不透明指针的技术把结构数据封装成对 ...

  5. Xcode 下cocos-2dx 环境搭建

    一.Cocos2d-x简介 Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的,这是一个C++ Cocos2d-iPhone项目的版本. Cocos2d-X发展的重点是围绕Cocos ...

  6. myeclipse 彻底让烦人的各种验证消失 让你的开发速度飞快

    大家都知道,myeclipse的验证很吭爹,不但保存的时候要难,BUILD的时候也要验.常常为了等它而浪费了大浪的时间!!真不知道设计人员当初是怎么加进这种功能的.真心不需要. 以前都是到window ...

  7. Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)

    由于binder机制的存在,使得进程A可以访问进程B中的对象. Android系统Binder机制中的四个组件Client.Server.Service Manager和Binder驱动程序: 1. ...

  8. mysql进阶(十九)SQL语句如何精准查找某一时间段的数据

    SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm ...

  9. ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec)

    ===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...

  10. 【翻译】使用Sencha Touch创建基于Tizen应用程序

    原文:Building a Tizen App With Sencha Touch 作者:Gautam Agrawal Gautam Agrawal is Sencha's Sr. Product M ...