用C语言实现斐波那契数列前30项
时间: 2023-03-02 10:04:41 浏览: 148
斐波那契数列是一种经典的数列,可以用递归或循环的方式来实现。以下是使用C语言实现斐波那契数列前30项的示例代码:
```c
#include <stdio.h>
int main()
{
int n, i, fib1 = 0, fib2 = 1, fib;
printf("斐波那契数列前30项为:\n");
for (i = 1; i <= 30; i++) {
if (i == 1) {
fib = fib1;
} else if (i == 2) {
fib = fib2;
} else {
fib = fib1 + fib2;
fib1 = fib2;
fib2 = fib;
}
printf("%d ", fib);
}
return 0;
}
```
在上述代码中,使用了for循环来输出斐波那契数列前30项。在循环体内部,使用了三个变量:fib1、fib2和fib。其中,fib1和fib2分别表示前两个斐波那契数列的元素,而fib则表示当前计算出的斐波那契数列的元素。在循环中,先判断当前项是否为第一个或者第二个元素,如果是,则直接输出该元素;如果不是,则根据斐波那契数列的递推式,计算出当前项的值,并更新fib1和fib2的值。最后,使用printf函数输出当前项的值。
相关问题
用C语言求斐波那契数列前多少项和递推法
可以使用递推法来求解斐波那契数列。以下是用C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int main() {
int n, i;
long long a = 0, b = 1, sum = 0;
printf("请输入要求的斐波那契数列项数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += b; // 累加斐波那契数列的每一项
b += a; // 更新斐波那契数列的下一项
a = b - a; // 更新斐波那契数列的当前项
}
printf("斐波那契数列前%d项的和为%lld\n", n, sum);
return 0;
}
```
在该代码中,使用变量a和b来分别保存斐波那契数列的当前项和下一项,然后通过累加每一项来求斐波那契数列前n项的和。
用c语言求斐波那契数列前n项和
以下是使用循环方式实现斐波那契数列前n项和的C语言代码:
```c
#include <stdio.h>
int main() {
int n = 10; // 求前10项和
int sum = 0;
int a = 0, b = 1;
for (int i = 0; i < n; i++) {
sum += a;
int c = a + b;
a = b;
b = c;
}
printf("斐波那契数列前%d项的和为:%d\n", n, sum);
return 0;
}
```
以上代码中,变量a和b分别表示斐波那契数列中的前两项,sum表示前n项和。循环的次数为n,每次循环时先将a加到sum中,然后计算出下一项c,将a和b分别更新为下一项的值。
如果要使用递归方式实现斐波那契数列前n项和,可以参考以下代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int fibonacci_sum(int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += fibonacci(i);
}
return sum;
}
int main() {
int n = 10; // 求前10项和
int sum = fibonacci_sum(n);
printf("斐波那契数列前%d项的和为:%d\n", n, sum);
return 0;
}
```
以上代码中,fibonacci函数用于计算斐波那契数列中第n项的值,fibonacci_sum函数用于计算前n项的和。递归的方式计算斐波那契数列中每一项的值,然后将它们累加得到前n项的和。