c语言题目之斐波那契数列

发布时间:2024年01月15日


题目

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么叫斐波那契数列

1,由来

在数学历史上,欧洲黑暗时期过后,第一位有影响的数学家是斐波那契(L.Fibonacci,1170一1250)。他早年就随其父在北非师从阿拉伯人学习算学,后又游历地中海沿岸诸国,回意大利后写成《算经[xq2] 》,也翻译成《算盘书》。这部很有名的著作主要是一些源自古代中国、印度和希腊的数学问题的汇集,内容涉及整数和分数算法、开方法、二次和三次方程以及不定方程。特别是,在1228年的《算经》修订版上载有如下“兔子问题”:

如果每对兔子(一雄一雌)每月能生殖一对小兔子(也是一雄 一 雌,下同),每对兔子第一个月没有生殖能力,但从第二个月以后便能每月生一对小兔子.假定这些兔子都没有死亡现象,那么从第一对刚出生的兔子开始,12 个月以后会有多少对兔子呢? 解释说明为:一个月:只有一对兔子;第二个月: 仍然只有一对兔子;第三个月:这对兔子生了一对小兔子, 共有 1+1=2 对兔子.第四个月 :最初的一对兔子又生一对兔 子,共有 2+1=3 对兔子.则由第一个月到第十二个月兔子的 对数分别是:1,1,2,3,5,8,13,21,34,55,89,144, ……,后 人为了纪念提出兔子繁殖问题的斐波纳契, 将这个兔子数 列 称为斐波那契数列, 即把 1,1,2,3,5,8,13,21,34……这样的数列称为斐波那契数列。

2,定义

斐波那契数列是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89……这个数列从第3项开始 ,每一项都等于前两项之和。


二、代码编写

#include<stdio.h>  
int fib(int n) {  
    if (n <= 2)  
        return 1;  
    else  
        return fib(n - 1) + fib(n - 2);  
}
int main() {  
    int n = 0;  
    while (scanf("%d", &n) != EOF) {  
        int x = fib(n);  
        printf("%d", x);  
    }
    return 0;  
}

总结

在上面我们利用斐波那契数列的定义,就可以根据定义写出代码
在输入的数小于2的时候它的斐波那契数列都是1,当他大于2的时候它等于它的前面的数加上前面的数的前面数。
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_62168696/article/details/135608365
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。