zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言:斐波那契数列

C语言 数列 斐波 那契
2023-09-27 14:22:46 时间

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…

这个数列从第3项开始,每一项都等于前两项之和。

问题1:输出指定数量的斐波那契数列

代码:

#include <stdio.h>

int main()
{
int i, n, t1 = 0, t2 = 1, nextTerm;

printf("输出几项: ");
scanf("%d", &n);

printf("斐波那契数列: ");

for (i = 1; i <= n; ++i)
{
    printf("%d, ", t1);
    nextTerm = t1 + t2;
    t1 = t2;
    t2 = nextTerm;
}
return 0;
}

运行结果:

输出几项: 10
斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,

问题2:输出指定数字前的斐波那契数列

代码:

#include <stdio.h>

int main()
{
int t1 = 0, t2 = 1, nextTerm = 0, n;

printf("输入一个正数: ");
scanf("%d", &n);

// 显示前两项
printf("斐波那契数列: %d, %d, ", t1, t2);

nextTerm = t1 + t2;

while(nextTerm <= n)
{
    printf("%d, ",nextTerm);
    t1 = t2;
    t2 = nextTerm;
    nextTerm = t1 + t2;
}

return 0;
}

运行结果:

输入一个正数: 100
斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,