打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
斐波那契数列的递归函数
userphoto

2023.07.10 天津

关注

题目描述

f(1)=1,f(2)=1;当n>2时,f(n)=f(n-1)+f(n-2),求斐波那契数列的第n项。

要求使用C和java语言代码实现

1、C语言

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int n,i;
	int num;	
	int Fib(int i);  //声明Fib函数 
	
	printf("您想输出多长的斐波那契数列:");
	scanf("%d",&n);
	printf("\n");
	
	for(i = 1; i <= n ; i++){
		
	num = Fib(i);   //通过一个递归函数获取第n个斐波那契数 
	printf("第%d个斐波那契数是%d\n",i,num);
	
	}

	return 0;
}

//斐波那契数列的递归函数 
int Fib(int i)
{
	if(i == 1)
		return 0;		//第一个数返回 0 
		else if(i == 2)
		return 1;		//第二个数返回 1 
		else 
		return Fib(i-1)+Fib(i-2); //利用递归来求第三个数之后的数 
		
}

2、java语言

 public static void main(String[] args) {
        // 斐波那契数列 1,1,2,3,5,8…
            System.out.println(fun(5));
    }
     
    // //使用递归
    // //i=求第几个数值
    private static int fun(int i) {
        System.out.println("当前数字:"+i);
        if (i == 1 || i == 2) {//如果i=1或2,则表示计算第一个和第二个数值,直接返回1。
            return 1;//递归出口
        }
       
        //否则递归调用当前方法,例如i=3 求第三个数值的话 就等于 第二个数值f(3-1)加上第一个数值f(3-2)的和
        return fun(i - 1) + fun(i - 2);
    }

总结

斐波那契数列(Fibonacci sequence),又称黄金分割数列,以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 2,∈ N*)。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
斐波那契数列的递归实现
漫谈递归:递归的效率问题
斐波那契数不是简单的F(n)=F(n-1) F(n-2)
418,剑指 Offer-斐波那契数列
Python|动态规划问题--斐波那契数列
算法学习笔记 递归之 快速幂、斐波那契矩阵加速
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服