斐波那契数列c语言求n项和
时间: 2024-01-02 07:20:23 浏览: 120
以下是C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int fbi(int n) // 求斐波那契数列第n项的值
{
if (n == 1 || n == 2)
return 1;
else
return fbi(n - 1) + fbi(n - 2);
}
int sum_fbi(int n) // 求斐波那契数列前n项的和
{
int sum = 0; for (int i = 1; i <= n; i++)
{
sum += fbi(i);
}
return sum;
}
int main()
{
int n = 6;
printf("斐波那契数列前%d项和为%d\n", n, sum_fbi(n));
return 0;
}
```
运行结果为:斐波那契数列前6项和为20
相关问题
斐波那契数列c语言前n项和
斐波那契数列是一个经典的数学序列,其中每个数字都是前两个数字之和,通常从0和1开始,即F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2)。在C语言中计算斐波那契数列的前n项和,可以使用动态规划的方式。以下是简单的代码示例:
```c
#include <stdio.h>
// 动态规划函数,求前n项和
long long fibonacci_sum(int n) {
if (n <= 0) return 0; // 如果n小于等于0,返回0
int sum = 1; // 初始化和为1,因为0和1单独相加就是1
long long fib1 = 0, fib2 = 1; // 储存当前和前两项
for (int i = 2; i < n; ++i) {
long long next_fib = fib1 + fib2;
fib1 = fib2;
fib2 = next_fib;
// 将当前项加入到总和中
sum += fib2;
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
long long result = fibonacci_sum(n);
printf("斐波那契数列的前%d项和为: %lld\n", n, result);
return 0;
}
```
在这个程序中,`fibonacci_sum` 函数通过循环依次计算并累加每一项,直到达到指定的第n项。
斐波那契数列c语言求前n项和
以下是C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int main()
{
int n, i;
int a = 1, b = 1, c = 1;
int sum = 2; // 前两项之和为2
printf("请输入要求的斐波那契数列项数:");
scanf("%d", &n);
if (n <= 0) {
printf("输入有误!\n");
return 0;
} else if (n == 1 || n == 2) {
printf("斐波那契数列前%d项和为1\n", n);
return 0;
}
for (i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
sum += c;
}
printf("斐波那契数列前%d项和为%d\n", n, sum);
return 0;
}
```
阅读全文