c语言求斐波那契数列平方和
时间: 2024-10-27 13:09:45 浏览: 30
100道C语言的基础练习题
在C语言中,求斐波那契数列的平方和可以通过循环结构或者递归函数来实现。这里我将展示一种简单的迭代方法,因为递归对于大数据可能会导致栈溢出。
```c
#include <stdio.h>
// 计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 0) return 0;
else if (n == 1) return 1;
else {
int fib_n_1 = 0, fib_n_2 = 1;
for (int i = 2; i <= n; i++) {
int next_fib = fib_n_1 + fib_n_2;
fib_n_1 = fib_n_2;
fib_n_2 = next_fib;
}
return fib_n_2;
}
}
// 求斐波那契数列前n项的平方和
long long sum_of_squares(int n) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
int fib = fibonacci(i);
sum += fab * fab;
}
return sum;
}
int main() {
int n;
printf("请输入要计算的斐波那契数列项数:");
scanf("%d", &n);
printf("斐波那契数列前 %d 项的平方和是:%lld\n", n, sum_of_squares(n));
return 0;
}
```
在这个程序中,首先定义了一个`fibonacci`函数用于计算第n项的斐波那契值,然后`sum_of_squares`函数遍历1到n,将每一项的平方累加到总和中。最后,在主函数中获取用户输入并输出结果。
阅读全文