C语言编程练习:显示斐波拉契数列前40项。
时间: 2023-06-12 13:07:28 浏览: 126
下面是C语言代码实现斐波那契数列前40项的显示:
```c
#include <stdio.h>
int main()
{
int i, n = 40;
long long a = 0, b = 1, next;
printf("斐波那契数列前 %d 项为:\n", n);
for (i = 1; i <= n; i++)
{
printf("%lld ", a);
next = a + b;
a = b;
b = next;
}
return 0;
}
```
输出结果如下:
```
斐波那契数列前 40 项为:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155
```
其中,a和b分别表示斐波那契数列的前两个数,next表示下一个数。在循环中,每次先输出a,然后计算next,将b赋值给a,将next赋值给b,再进行下一次循环。
相关问题
用C语言编程递归算法计算斐波拉契数列中第n项的值
斐波那契数列是指:0、1、1、2、3、5、8、13、21、34……在数学上,斐波那契数列以如下被以递推的方法定义:
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2) (n ≥ 2,n ∈ N*)
以下是使用递归算法计算斐波那契数列中第n项的值的 C 语言程序:
```c
#include <stdio.h>
int fibonacci(int n)
{
if (n == 0) { // F(0) = 0
return 0;
} else if (n == 1) { // F(1) = 1
return 1;
} else { // F(n) = F(n-1) + F(n-2)
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main()
{
int n;
printf("Please enter a positive integer n: ");
scanf("%d", &n);
printf("Fibonacci(%d) = %d\n", n, fibonacci(n));
return 0;
}
```
程序中,我们定义了一个递归函数 `fibonacci`,用于计算斐波那契数列中第n项的值。在函数中,首先判断特殊情况:当 n=0 时,F(0)=0;当 n=1 时,F(1)=1。否则,根据递推公式 F(n) = F(n-1) + F(n-2) 计算 F(n) 的值,其中 F(n-1) 和 F(n-2) 分别通过递归调用 `fibonacci(n-1)` 和 `fibonacci(n-2)` 来计算。最后,在 `main` 函数中,读入要求的项数 n,然后调用 `fibonacci` 函数计算第 n 项的值,输出结果。
用c++写一个程序:斐波拉契数列的前两项分别为1.1。以后每项为前两项之和。现在输入n,要求斐波拉契数列前n项的和(1<=n<=5000)。 输入 输入只有二个数n,表示求斐波拉契数列前n项的和。 输出 输出斐波拉契数列前n项的和
以下是使用 C++ 编写的代码,可以求斐波那契数列前 n 项的和:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<long long> fib(n + 1);
fib[1] = fib[2] = 1;
for (int i = 3; i <= n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += fib[i];
}
cout << sum << endl;
return 0;
}
```
解释一下代码:
首先读入 n,表示需要求斐波那契数列前 n 项的和。
定义一个 vector 数组 fib,长度为 n+1,因为需要计算 fib[1] 到 fib[n]。
前两项 fib[1] 和 fib[2] 都为 1。
从第三项开始,每一项都等于前两项之和,可以使用递推公式 fib[i] = fib[i-1] + fib[i-2]。
最后遍历整个 fib 数组,计算总和,输出结果。
需要注意的是,斐波那契数列的项数 n 最大可以达到 5000,因此在计算过程中要注意数据类型的选择,这里使用 long long 类型。
阅读全文