斐波那契数列详解

       

目录

        1.认识斐波那契数列

                1.1 什么是斐波那契数列

       1.2 斐波那契数列的规律

        2.用代码的思维实现斐波那契数列

        2.1 确定要查找第几个斐波那契数列

        2.2 如何利用斐波那契数列规律

        2.3  如何利用循环实现斐波那契数列

        2.4  如何进入循环

        2.5  如何跳出循环 


1.认识斐波那契数列        

        1.1 斐波那契数列是什么

                     总的来说指的是这样一个数列:1、1、2、3、5、8、13、21、34……

         1.2 斐波那契数列的规则是什么

                     通俗来说斐波那契数列的规则为:前两个数相加等于第三个数

                            例如:1+1=2,1+2=3 

2.用代码的思维实现斐波那契数列

          2.1确定具体要查找第几个斐波那契数

                        首先,需要定义一个变量来存放来自键盘接收的所需要查找的斐波那契数列

#include <stdio.h>
int main()
{
    int n=0;
    scanf("%d",&n);//用n来接收想要查询的斐波那契数列的值
    return 0;
}

           2.2 如何利用规则来实现斐波那契数列

                        由上文得知斐波那契数列是前两个数的和等于第三个数(依次类推)所以我们需要                   来创建三个变量来代表前两个数和第三个数,用后一个数赋值给前一个数的方式实现将                   数字一个一个想后推移

        

 

#include <stdio.h>
int main()
{
    int n=0;
    int a=1;
    int b=1;//因为第一个和第二个斐波那契数列不需要计算所以给出来就可以
    int c=0;
    scanf("%d",&n);//用n来接收想要查询的斐波那契数列的值
    
    c=a+b;//从第三个数开始计算
    a=b;
    b=c;//通过相互赋值的方式来依次向后相加
}

        2.3 如何利用循环实现斐波那契数列

                       从2.2的代码我们将总体运行规则写了出来,但我们如果想查询后面的斐波那契数就                 需要重复执行这些规则所以要利用循环计算出我们想要的哪个结果

#include <stdio.h>
int main()
{
    int n=0;
    int a=1;
    int b=1;//因为第一个和第二个斐波那契数列不需要计算所以给出来就可以
    int c=0;
    scanf("%d",&n);//用n来接收想要查询的斐波那契数列的值
    while()//现在为止如何进入循环还不得而知
    {
    c=a+b;//从第三个数开始计算
    a=b;
    b=c;//通过相互赋值的方式来依次向后相加
    }
}

        2.4 如何进入循环

                          由上面的代码得知,我们是从第三个数开始将数依次往后移并计算的所以

                  我们进入循环是从三开始需要计算的(因为第一个数和第二数是给定的) 

#include <stdio.h>
int main()
{
    int n=0;
    int a=1;
    int b=1;
    int c=0;
    scanf("%d",&n);
    while(n>2)//n是从第三个开始需要进行计算的
    {
    c=a+b;
    a=b;
    b=c;
    }
}

        2.5 如何跳出循环

                         举个栗子:比如我们要洗10件衣服,怎么样算完成任务了呢?当然是衣服都以光

                  同理可得,我们执行到什么时候跳出循环呢,当然是循环执行光的时候。再给定n的时

                  侯其实循环几次再冥冥中就已经确定,我们再循环一次过后就将循环过的丢掉(减一)

                  直到不能循环为止(也就是在n为2的时候就不需要进去计算了也就是不需要循环了)

#include <stdio.h>
int main()
{
    int n=0;
    int a=1;
    int b=1;
    int c=0;
    scanf("%d",&n);
    while(n>2)
    {
    c=a+b;
    a=b;
    b=c;
    n--;//减到不需要循环为止
    }
    printf("%d",c);
}

最后一步

如果我们只想要第一个或第二个斐波那契数呢

        这时候不需要进入循环将c输出出来那值就发生了错误所以直接将 c改为一既不影响运算,又不影响结果

#include <stdio.h>
int main()
{
    int n=0;
    int a=1;
    int b=1;
    int c=1;
    scanf("%d",&n);
    while(n>2)
    {
    c=a+b;
    a=b;
    b=c;
    n--;//减到不需要循环为止
    }
    printf("%d",c);
}

 对斐波那契数列一点浅薄的理解,望各大佬指导

  • 19
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值