C语言求fibonacci前20项和
时间: 2023-11-09 13:08:34 浏览: 122
可以使用以下代码计算斐波那契数列前20项的和:
```c
#include <stdio.h>
int fibonacci_sum(int n) {
if (n <= 0) {
return 0;
}
int a = 0, b = 1, total = 0;
for (int i = 0; i < n; i++) {
total += b;
int temp = b;
b = a + b;
a = temp;
}
return total;
}
int main() {
// 输出斐波那契数列前20项的和
printf("%d\n", fibonacci_sum(20));
return 0;
}
```
输出结果为:`6765`
相关问题
c语言求斐波那契数列前20项
以下是C语言求斐波那契数列前20项的代码和讲解:
```c
#include <stdio.h>
int main() {
int a1 = 1, a2 = 1;
printf("第1个斐波那契数为%d\n第2个斐波那契数为%d\n", a1, a2);
for (int i = 3; i <= 20; i++) {
int sum = a1 + a2;
printf("第%d个斐波那契数为%d\n", i, sum);
a1 = a2;
a2 = sum;
}
return 0;
}
```
这段代码中,我们首先定义了两个变量a1和a2,并将它们的值都初始化为1,因为斐波那契数列的前两个数都是1。然后我们使用for循环计算并输出了前20个斐波那契数。在每次循环中,我们先计算出当前的斐波那契数sum,然后将a2的值赋给a1,将sum的值赋给a2,以便下一次循环计算。
用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项的和。