0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用递归函数计算斐波那契数列中的第n项值

冬至子 来源:风景邮递Yuan 作者:风景邮递Yuan 2023-06-07 11:30 次阅读

编写一个递归函数,用于计算斐波那契数列中的第n项值,并在主函数中调用该函数输出斐波那契数列的前15项。

斐波那契数列:1,1,2,3,5,8,13,21,……

可表示为:f(n)=1,当n<=2;f(n)=f(n-1)+f(n-2),当n>2;



Python实现:
# 递归函数,计算斐波那契数列中的第n项值
def fibonacci(n):
    if n <= 2:
        return 1
else:
        return fibonacci(n-1) + fibonacci(n-2)

# 主函数,输出斐波那契数列的前15项
if __name__ == '__main__':
    for i in range(1, 16):
        print(fibonacci(i), end=' ')

C语言实现:

在C语言中,递归是一种函数调用自身的技术。它可以使解决问题的算法更加简单和优雅。

递归函数包括两个部分:递归基或终止条件和递归部分。递归基是指一个最简单的情况,不再需要调用自身即可返回结果。递归部分是指将问题分解为更小的相同问题的步骤,每次调用自身时问题规模都会减小。

在编写递归函数时,需要注意避免无限循环和过多的递归,否则会导致程序崩溃或栈溢出的错误。

以下是一个计算阶乘的递归函数示例:

c复制代码
int factorial(int n){
if(n == 0)
return 1; //递归基
else
return n * factorial(n-1); //递归部分
}

在这个函数中,如果n等于0,则直接返回1作为递归基;否则,将n乘以小于n的阶乘,直到达到递归基条件。



#include < stdio.h >

// 递归函数,计算斐波那契数列中的第n项值

int fibonacci(int n) {

if (n <= 2) {

return 1;

} else {

return fibonacci(n-1) + fibonacci(n-2);

}

}

// 主函数,输出斐波那契数列的前15项

int main() {

int i;

for (i = 1; i <= 15; i++) {

printf("%d ", fibonacci(i));

}

return 0;

}


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7533

    浏览量

    128790
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83473
收藏 人收藏

    评论

    相关推荐

    [4.3.1]--4.3.1实例-打印数列

    语言程序设计高级语言程序
    jf_75936199
    发布于 :2023年03月11日 14:47:40

    matlab 实验讲义

    目 录 试验1数列... 1实验2图像轮廓线提取技术... 8实验3RGB向量空间中的图像分割技术... 16试验4 图像的伪装技术
    发表于 05-17 22:02

    【求教贴】MSI chips设计一个fibonacci 计数器

    display decoder 显示出输出的数列,输出结果如下0,1,1,2,3,5,8,13.。。。。。。。目前想到要用7419
    发表于 10-05 22:48

    llabview中国挑战赛第一题l

    数列。(义大利语:Successione二
    发表于 07-18 06:12

    数列

    生成数列,并求出其中偶数项之和,使用09版本编写
    发表于 08-20 19:59

    如何创建该VI?求大神指点。

    VI计算数列(0,1,1,2,3,5,8,13,等等),并显示在一个数组,用户能够控制生成数字的个数。
    发表于 05-17 16:46

    10个经典的C语言面试基础算法及代码

    检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算Fibonacci数列Fibonacci数列又称
    发表于 11-20 15:18

    《C Primer Plus》读书笔记——递归

    ("LEVEL %d: n location %p\n" , n, &n);}输出如下:递归的基本原理每级
    发表于 02-05 20:06

    求助,ARM DS-5课程作业不会写,谁能代写,500元

    `求助,ARM DS-5课程作业不会写,谁能代写,酬劳是500元主要内容是用汇编写写两个计算数列
    发表于 02-24 10:39

    exe程序之时钟设计

    exe:exe程序之时钟设计
    发表于 12-26 11:14

    10个经典的C语言面试基础算法及代码

    1、计算Fibonacci数列Fibonacci数列又称
    发表于 07-25 17:07

    关于10大C语言基础算法

    算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算Fibonacci数列Fibonacci
    发表于 04-29 14:30

    一文解析数列

    //第一次尝试:#define _CRT_SECURE_NO_WARNINGS#include#includeint FibNum(int num) { if (num
    发表于 11-04 08:11

    任务和函数的区别?

    人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容:1分别用任务和函数实现
    发表于 02-09 07:47

    递归指的是在函数的定义中使用函数自身的方法

    C语言支持递归,即一个函数可以调用其自身。但在使用递归时,程序员需要注意定义一个从函数退出的条件,否则会进入死循环。递归
    的头像 发表于 11-12 15:06 6827次阅读