剑指offer7: 斐波那契数列第n项(从0开始,第0项为0)

1. 题目描述

  大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39

2. 思路和方法

  斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。

  在本题中,有一个条件是“从0开始,第0项为0”,从0开始,因此,F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。

3.C++代码

 1 class Solution {
 2 public:
 3     int Fibonacci(int n) {
 4         if (n <= 1)
 5              return n;
 6          int res = 0;
 7          int n1 = 0;
 8          int n2 = 1;
 9          for (int i=2; i<=n; i++){
10              res = (n1 + n2);
11              n1 = n2;
12              n2 = res;
13          }
14         return res;
15     }
16 };

参考资料

https://blog.csdn.net/sun_fengjiao/article/details/88094461

原文地址:https://www.cnblogs.com/wxwhnu/p/11407123.html

时间: 2024-10-08 02:57:11

剑指offer7: 斐波那契数列第n项(从0开始,第0项为0)的相关文章

剑指offer斐波那契数列python

题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 思路 斐波那契数列,即第n项为第n-1项和n-2项的和,可用递归,但复杂度高.直接用一个数组保存之前的项即可. 代码 1 # -*- coding:utf-8 -*- 2 class Solution: 3 def Fibonacci(self, n): 4 ans = [0,1,1,2] 5 while n > len(ans) - 1: 6 ans.append(a

剑指Offer07 斐波那契数列

1 /************************************************************************* 2 > File Name: 07_Fibonacci.c 3 > Author: Juntaran 4 > Mail: [email protected] 5 > Created Time: 2016年08月29日 星期一 20时23分54秒 6 *****************************************

[剑指OFFER] 斐波那契数列- 跳台阶 变态跳台阶 矩形覆盖

跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number) { if(number == 1) return 1; if(number == 2) return 2; int n1 = 1; int n2 = 2; int rtn = 0; for(int i = 3; i <= number; i++) { rtn = n1 + n2; n1 = n2;

剑指offer 斐波那契系列

目录 T9-斐波那契用迭代 跳台阶 动规 py2 变态跳台阶 wo的初始迭代方法 数学--移位 py2 矩形覆盖 动规 Py2 T9-斐波那契用迭代 跳台阶 动规 py2 # -*- coding:utf-8 -*- class Solution: def jumpFloor(self, number): # write code here if number<0: return -1 if number <=2: return number a,b=1,2 res = 0 for i in

剑指offer系列源码-斐波那契数列

题目1387:斐波那契数列 时间限制:1 秒内存限制:32 兆特殊判题:否提交:5415解决:1603 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n<=70). 输出: 对应每个测试案例, 输出第n项斐波那契数列的值. 样例输入: 3 样例输出: 2 #include<iostream> #include<stdio.h&g

斐波那契数列(迭代)

今天听朋友说了这个数列,试着写写,挺有意思的 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列

斐波那契数列,冒泡排序,选择排序,数组去重

斐波那契数列: 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以<斐波纳契数列季刊>为名的一份数学杂志,用于专门刊载这方面的研究成果. 这个数列从第二项开始,每一项都等于前两项之和. function abc(num){

算法——动态规划篇——斐波那契数列

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了<斐波纳契数列>季刊,专门刊载这方面的研究成果. 以上内容来自百度百科.. 今天主要是想用动态规划的思想求解斐波那契数列,用来观察动态规划带来的优势,空间换时间,不重复求解

用递归法计算斐波那契数列的第n项

   斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了<斐波纳契数列>季刊,专门刊载这方面的研究成果. [Fibonacci.cpp] #include<iostream>#