频道栏目
首页 > 考试 > 其他 > 正文

程序开发斐波那契数列解析

2018-06-26 14:36:26         来源:zd_nupt的博客  
收藏   我要投稿

程序开发斐波那契数列解析。
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
思路:斐波那契可以用递归做,但是容易出现栈溢出,可以把递归改成尾递归的形式;可以用循环做。

//递归
class Solution {
public:
 int Fibonacci(int n)
 {
  if(n==0 || n==1)
return n;
  return Fibonacci(n-1)+Fibonacci(n-2);
 }
};


//尾递归
class Solution {
public:
 int Fibonacci1(int n,int n1=0,int n2=1)
 {
  if(n==0 || n==1)
return n2;
  return Fibonacci1(n-1,n2,n1+n2);
 }
 int Fibonacci(int n) {
  if(n==0 || n==1)
return n;
  return Fibonacci1(n);
 }
};
//循环
class Solution {
public:
 int Fibonacci(int n) {
  int t1=0;
  int t2=1;
  while(n--)
  {
t2=t2+t1;
t1=t2-t1;
  }
  return t1;
 }
};

python
python不存在尾递归,没有优化。

# -*- coding:utf-8 -*-
class Solution:
 def Fibonacci(self, n):
  n0=0
  n1=1
  for i in range(n):
n1=n0+n1
n0=n1-n0
  return n0
  # write code here
上一篇:把数组排成最小的数
下一篇:String Subtraction - 编程开发习题
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站