剑指offer:(7)递归和循环:斐波那契数列

来源:互联网 发布:香港上水广场有mac吗 编辑:程序博客网 时间:2024/05/16 08:08
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

n<=39


package co.com.jianzhioffer;import java.util.Scanner;/* * 斐波那契数列 */public class Solution7 {/* * 递归实现,实现简单,但会造成时间和空间浪费 */public static int Fibonacci1(int n) {if(n==0)return 0;if(n==1)return 1;return Fibonacci1(n-1)+Fibonacci1(n-2);}/* * 循环实现,比较常用 */public static int Fibonacci2(int n) {if(n==0)return 0;if(n==1)return 1;int tempOne = 1;int tempTwo = 0;for(int i = 2;i<=n;i++){int temp = tempOne+tempTwo;tempTwo = tempOne;tempOne = temp;}return tempOne;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a =sc.nextInt();System.out.println(Fibonacci1(a));System.out.println(Fibonacci2(a));}}


0 0
原创粉丝点击