求斐波拉契数 java

来源:互联网 发布:苹果手机主题软件 编辑:程序博客网 时间:2024/06/14 21:43

求斐波拉契数

斐波拉契数为,Fib(N) = Fib(N-1)+Fib(N-2) F(0)=F(1)=1 用Java编写能求Fib(N)的程序 输入为N,须输出Fib(N)
如输入
3
输出:

3


import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt() + 1;System.out.println(fibonacciNormal(n));}public static long fibonacciNormal(int n) {if (n <= 2) {return 1;}long sn = 0, n1 = 1, n2 = 1;for (int i = 0; i < n - 2; i++) {sn = n1 + n2;n1 = n2;n2 = sn;}return sn;}}


问题比较容易出在sn的类型上面,用long一般就没问题,用double或者int可能会在某些测试平台上无法得到满分