求费波那西数列的前四十个数

这个数列特点:第一第二个数为1,从第三个数开始,该数为前两个数之和。

第一,二数为1,求到第四十个数。

方法一

#include<stdio.h>
void main() {
    int a, b;
    long next, n, i;
    a = 1, b = 1;
    printf("%10ld%10ld", a, b);
    n = 2;
    for (i = 3; i <= 40; i++) {
        next = a + b;
        printf("%10ld", next); n++;
        if (n % 6 == 0)printf("\n");//输出并控制换行
        a = b; b = next;
    }
}

方法二

#include<stdio.h>
void main() {
    int f1 = 1, f2 = 1,i;
    for (i = 1; i <= 20; i++) {
        printf("%10ld%10ld", f1, f2);
        f1 = f1 + f2;
        f2 = f1 + f2;
        if (i % 2 == 0)printf("\n");
    }
}

没四列要换一次行,因为 if (i % 2 == 0)printf("\n");

当f1=1,f2=1是开始往下执行程序,就要输出一次(两个结果),然后执行f1=f1+f2,f2=f1+f2。到程序最后一行代码,没有输出的语句,所以要带着循环一次,遇到了printf就输出,这时候i=2,达到程序换行的要求,所以换行。所以为四个结果一换行。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值