斐波那契数列-java基础

来源:互联网 发布:音乐截取软件 编辑:程序博客网 时间:2024/06/05 13:21

斐波那契数列指的是这样一个数列1,1,2,3,5,8,13,21,34,55,89,144,...
数列的第一项和第二项是1,从第三项开始,每一项都等于前两项之和。

题目要求:
①,实现斐波那契数列第n项值的方法,定义静态方法f(int n),参数n是数列的项数,返回值是第n项的值,eg: f(1)的值是1, f(6)的值是8,
②,验证当n比较大时候,相邻两项的比值接近黄金分割线比值0.618,验算f(45)/f(46)的值大约是0.618。


//斐波那契数列import java.util.Scanner;//斐波那契数列求第n项public class Fibonacci {public static void main(String[] args) {//用户随机输入一个整数System.out.println("请输入一个整数 :");Scanner sc = new Scanner(System.in);int n = sc.nextInt();//②if (n > 45) {//调用方法m(n);}System.out.println(fun(n));}//  ① 求n项值public static int fun(int n) {if (n == 0) {return 0;} else if (n == 1) {return 1;} else//如果n不是0和1 那就等于前两项的和return fun(n - 1) + fun(n - 2);}//②黄金比例public static void m(int n) {//int类型需要强转double b = ((double) fun(n - 2) / (double) fun(n - 1));System.out.println(b);}
微笑打印出来输入46  的显示结果:


附英文翻译 :  斐波那契数列(Fibonacci)
本人自己学习所用,有建议或者更多的优化还请大佬们多多指教奋斗