C语言——求前20项的斐波那契数列的三种不同方法

任务四:编程输出前20项的斐波那契数列

  1. 斐波那契数列:以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、
  2. 已知前两项值为0、1,从第3项开始,每一项都是前两项数值之和.即:1,1,2,3,5,8,…

方法一:数组累加(保存数列中的每一个值)

#include "stdio.h"
int main(){
//编程输出前20项的斐波那契数列
//已知前两项值为0、1,从第3项开始,每一项都是前两项数值之和.即:1,1,2,3,5,8
    int num[20]={1,1};
    printf("斐波那契数列:=====================================\n");
    for (int j = 2; j < 22; j++) {	//j < 22   ,此处数组不会越界 ,因为输出的是num[j-2];
        num[j] = num [j-1] + num[j-2];
        printf("num[%d]=%d\n",j-2,num[j-2]);
    }
}

运行结果
在这里插入图片描述

方法二:变量覆盖(覆盖一个变量值)

#include "stdio.h"
int main(){
//编程输出前20项的斐波那契数列
//已知前两项值为0、1,从第3项开始,每一项都是前两项数值之和.即:1,1,2,3,5,8
    int a=1,b=1,next;//next表示a+b;
    printf("斐波那契数列:=====================================\n");
    printf("第1项为:1\n");
    printf("第2项为:1\n");
    for (int i = 0; i < 18; ++i) {
        next = (a+b);a = b;b =next;
        printf("第%d项为:%d\n",i+3,next);
    }

}

运行结果:
在这里插入图片描述

方法三:变量覆盖(覆盖两个变量值)

只需要循环10次就能输出完前20项

#include "stdio.h"
int main(){
//编程输出前20项的斐波那契数列
//已知前两项值为0、1,从第3项开始,每一项都是前两项数值之和.即:1,1,2,3,5,8
    int a=1,b=1;
    printf("斐波那契数列:=====================================\n");
    for (int i = 0; i < 10; ++i) {
        printf(" %d %d ",a,b);
        a=a+b;
        b=a+b;
    }
}

运行结果

传送门----更多内容:
C语言算法题集—复习篇1

  • 17
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值