C语言实现Fibonacci数列递归

 更新时间:2020年02月11日 15:00:14   作者:被Python玩的Kenny  
这篇文章主要介绍了C语言实现Fibonacci数列递归,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
/*
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
*/
#include<stdio.h>
#include<stdlib.h>
 
int N=10007;
 
/*计算Fibonacci函数*/
int Fibonacci (int n)
{
 int Fn;
 if (n==1 || n==2)
 {
 Fn=1;
 }
 else
 {
 Fn = (Fibonacci(n-1) + Fibonacci(n-2))%N;
 }
 return (Fn);
}
 
int main(void)
{
 int n,tap=1,F1,F2,Fn;
 
 /*判断是否继续分析下一个数。*/
 while(tap)   
 {
 /*保证分析的数有效*/
     do     
 {
     printf("*************Fibonacci***************\n"); /*简易菜单*/
         printf("Please enter a positive integer for analysis:\n");
 
  scanf("%d",&n);
 }while (n<1);
 
 /*开始分析*/
 Fn=Fibonacci(n);
 printf("%d\n",Fn);
 
 /*判断是否继续分析下一个数*/
 printf("enter 1 to continue,enter 0 to quit:\n");
 scanf("%d",&tap);
 printf("\n");
 }
 
 printf("Thank You.\n");
 return 0;
}

采用递归的方法,一次运行多次分析,若想一次运行只分析一次,只需将while循环去掉即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解如何用alpine镜像做一个最小的镜像并运行c++程序

    详解如何用alpine镜像做一个最小的镜像并运行c++程序

    这篇文章主要介绍了详解如何用alpine镜像做一个最小的镜像并运行c++程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • C++表达式new与delete知识详解

    C++表达式new与delete知识详解

    这篇文章主要为大家详细介绍了C++表达式new与delete知识点,学习如何动态创建对象,动态创建的对象与一般对象的区别,动态创建的对象的初始化以及释放动态分配的内存等知识点,感兴趣的朋友可以参考一下
    2016-05-05
  • C++深入探究友元使用

    C++深入探究友元使用

    采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该类的友元函数
    2022-07-07
  • mysate中stat命令的实现方法

    mysate中stat命令的实现方法

    这篇文章主要介绍了mysate中stat命令的实现方法,stat作用:用来显示文件的详细信息,包括inode, atime, mtime, ctime,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • C++ Struct结构体用法浅析

    C++ Struct结构体用法浅析

    前边我们所定义的类,均是使用struct关键字来定义,但是C++中真正用于定义类的关键字为class,因为要C++兼容C,所以保留struct关键字,struct与class的用法完全相同
    2023-03-03
  • 基于C语言实现shell指令的详解

    基于C语言实现shell指令的详解

    本篇文章是对C语言实现shell指令的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C数据结构中串简单实例

    C数据结构中串简单实例

    这篇文章主要介绍了C数据结构中串简单实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++实现教职工信息管理系统课程设计

    C++实现教职工信息管理系统课程设计

    这篇文章主要为大家详细介绍了C++实现教职工信息管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 深入剖析C语言中qsort函数的实现原理

    深入剖析C语言中qsort函数的实现原理

    这篇文章主要介绍了C语言中qsort函数的实现原理,本文将从回调函数,qsort函数的应用,qsort函数的实现原理三个方面进行讲解,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-03-03
  • linux之sed命令的用法

    linux之sed命令的用法

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
    2013-10-10

最新评论