递归实现Fibonacci数列第N个元素的计算

本文介绍了一个使用递归算法实现Fibonacci数列的Java程序,该程序能够计算并输出数列的前n项值。通过递归调用自身函数,程序能够根据数列的递归关系式,即每一项等于前两项之和,计算出数列的任意一项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 算法设计思想

  无穷数列1,1,2,3,5,8,13,21,34,55,…,被称为Fibonacci数列。数列递归关系式说明当n大于1时,数列的第n项的值是它前面的两项之和。它用两个较小的自变量的函数值来定义较大自变量的函数值,所以需要两个初始值F(0)和F(1)。

1.2 程序源码

import java.util.Arrays;

public class Fibonacci {

    public static void main(String[] args) {
    	Fibonacci fib = new Fibonacci();  
        int n = 20;     //数列第n项
        int i;
        int[] fibonacciArray = new int[n]; 
        for (i = 0; i < n; i++) {
            fibonacciArray[i] = fib.fibonacci(i);    //数列的第n项值存入数组fibonacciArray[i]中
        }
        System.out.println(Arrays.toString(fibonacciArray));  //输出数列的前n项值
        System.out.println(fibonacciArray[i-1]);
    }
    //以下方法用于递归求解数列第n项的值
    private int fibonacci(int n){
        if(n==0||n==1){
            return 1;
        }
        else if(n>1){
            return fibonacci(n-1)+fibonacci(n-2);
        }
        else{
            return 0;
        }
    }
}

 

【问题描述】 【问题描述】编写函数f,功能是用递归方法斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归方法斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归方法斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归方法斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值