基于C语言用递归思想实现斐波那契数列的函数设计
  T96KQOPbtA1z 2024年04月08日 51 0
C++

用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!

/*******************************************************************
 *
 *	file name:	
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!
 * 	note	 :  None
 *
 *	CopyRight (c)  2023-2024   RISE_AND_GRIND@163.com   All Right Reseverd
 *
 * *****************************************************************/
#include <stdio.h>
#include <stdlib.h>

int Fibon(int n);

int main(int argc, char *argv[])
{
    // 定义指针变量用于指向堆内存
    int *ptr = NULL;
    // 申请堆内存并初始化
    ptr = (int *)calloc(1, 4); // 将calloc的void *转换为char*
    if (NULL == ptr)
    {
        perror("error!");
        return -1;
    }

    // 从键盘输入字符串
    printf("请输入你要求的第几项斐波那契数列的值:\n");
    scanf("%d", ptr);
    // 调用递归
    printf("第%d项斐波那契数列的值为:%d\n", *ptr, Fibon(*ptr));
    // 释放堆内存
    free(ptr);
    ptr = NULL;
    return 0;
}

/*******************************************************************
 *
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  斐波那契数列的函数设计,利用递归实现!
 * 	note	 :  None
 *
 * *****************************************************************/
int Fibon(int n)
{
    // 错误处理
    if (1 == n || 2 == n)
    {
        return 1;
    }
    else
    {
        return Fibon(n - 1) + Fibon(n - 2);
    }
}
/* 递归的本质就是二叉树的叶子的关系运算 在这里的关系是 +
    Fibon(5)
    =       Fibon(4)                     +             Fibon(3)
    = (     Fibon(3)         + Fibon(2)) +      (Fibon(2) + Fibon(1))
    = ((Fibon(2) + Fibon(1)) + Fibon(2)) +      (Fibon(2) + Fibon(1))
    = ((     1   +      1)   +    1    ) +      ( 1       +     1)
    =           2            +    1      +                2
    = 5
*/
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月08日 0

暂无评论

推荐阅读
  8Tw5Riv1mGFK   19天前   30   0   0 C++
  BYaHC1OPAeY4   12天前   32   0   0 C++
  yZdUbUDB8h5t   15天前   22   0   0 C++
  oXKBKZoQY2lx   3天前   14   0   0 C++
T96KQOPbtA1z