码迷,mamicode.com
首页 > 其他好文 > 详细

斐波那契数列

时间:2018-01-04 00:15:32      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:代码   描述   solution   i++   sys   ==   integer   斐波那契数列   ast   

解题思路

如果用递归会超时,所以改用数组存,或者直接输出,代码如下

 

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项

代码实现

 1 import java.util.Scanner;
 2 public class Solution {
 3     public int Fibonacci(int n) {
 4         int first = 0;
 5         int last = 1;
 6         int temp = 0;
 7         if(n == 0)
 8             return first;
 9         if(n == 1)
10             return last;
11         for(int i = 2; i <= n; i++){
12             temp=first+last;
13             first = last;
14             last = temp;
15         }
16         return last;
17     }
18     
19     public static void main(String[] args){
20         Scanner scanner = new Scanner(System.in);
21         Solution solution = new Solution();
22         int x = scanner.nextInt();
23         System.out.println(solution.Fibonacci(x));
24     }
25 }

 

用数组实现

 1 public class Solution {
 2     /*
 3      * @param n: an integer
 4      * @return: an ineger f(n)
 5      */
 6         int[] a = new int[50];
 7     public int fibonacci(int n) {
 8         
 9         if(n<=2)
10         return n-1;
11         if(a[n]!=0)
12         return a[n];
13         else
14         return a[n]=fibonacci(n-1)+fibonacci(n-2);
15     }
16 }

 

斐波那契数列

标签:代码   描述   solution   i++   sys   ==   integer   斐波那契数列   ast   

原文地址:https://www.cnblogs.com/wanglinyu/p/8186282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!