N7-斐波那契数列的第n项

题目描述

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

n<=39

public class N7_Fibonacci {
	//递归实现
	 public int Fibonacci(int n) {
		 if(n==0) {
			 return 0;
		 }
		 if(n==1||n==2) {
			 return 1;
		 }
		return Fibonacci(n-1)+Fibonacci(n-2);
		 }
	 //非递归实现
	 public int Fibonacci2(int n) {
		 if(n==0) {
			 return 0;
		 }
		 if(n==1||n==2) {
			 return 1;
		 }
		 int f1=1;
		 int f2=0;
		 int c=0;
		 for(int i=2;i<=n;i++) {
			 c=f1+f2;
			 f2=f1;
			 f1=c;
		 }
		 return c;
	 }
		 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		N7_Fibonacci n7=new N7_Fibonacci();
		System.out.println(n7.Fibonacci(6));
		System.out.println(n7.Fibonacci2(6));
	}

}

  

原文地址:https://www.cnblogs.com/kexiblog/p/10868192.html