递归的实现(小案例)以及递归的优缺点的总结 斐波那契数列 汉诺塔问题 0-9全排列

本文介绍了递归的概念,通过斐波那契数列和汉诺塔问题展示了递归的运用。在汉诺塔问题中,详细阐述了递归步骤,并提及0-9全排列问题的类似解决策略。同时,文章提到了递归的特点,指出递归虽便于问题分解,但因其内存消耗大、速度慢,建议在可能的情况下优先选择循环。

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

递归是什么

递归可以实现分治这种算法,就是把一个复杂的大问题,分解成若干个相同的小分问题,直到问题全部解决。

递归案例

斐波那契数列

#include<stdio.h>

int get_fibonacci(int number)
{
   
    //第一个和第二个斐波那契数列值为1
    if( 1==number || 2==number )
    {
      
        return 1;
    }   
    //第三项开始的斐波那契数列是前2项的和
    else
    {
      
        return get_fibonacci(number-1)+get_fibonacci(number-2);
    }   
}

int main()
{
   
    int n=0;
    printf("请输入要查找的第n个斐波那契数列的值:");
    scanf("%d",&n);
    printf("%d",get_fibonacci(n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值