C语言中斐波纳契数列非递归版

斐波那契数列的特点是从第三项开始,每一项都等于前两项之和,即F(n)=F(n - 1)+F(n - 2),其中F(0)=0,F(1)=1。

#include <stdio.h>

 

// 计算斐波那契数列第n项的非递归函数

unsigned long long fibonacci(int n) {

    if (n == 0) {

        return 0;

    } else if (n == 1) {

        return 1;

    }

    unsigned long long a = 0;

    unsigned long long b = 1;

    unsigned long long result;

    for (int i = 2; i <= n; i++) {/ /从n为2开始,每一项都为前两项的和,当n为2时,数列为0,1,1

        result = a + b;

        a = b;/ /下一次循环,a的值发生改变,向后推一个数

        b = result;//同理,下一次循环,b的值向后推一个数

    }

    return result;

}

 

int main() {

    int n;

    printf("请输入要计算的斐波那契数列的项数: ");

    scanf("%d", &n);

    if (n < 0) {

        printf("输入的项数不能为负数。\n");

    } else {

        unsigned long long result = fibonacci(n);

        printf("斐波那契数列第 %d 项的值为: %llu\n", n, result);

    }

    return 0;

}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值