输入整数n,求斐波那契前n项的和的C++代码
时间: 2023-04-09 22:01:18 浏览: 56
以下是C代码:
#include <stdio.h>
int main() {
int n, i;
long long int a = 0, b = 1, c = 0, sum = 0;
printf("请输入整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
c = a + b;
sum += c;
a = b;
b = c;
}
printf("斐波那契前%d项的和为%lld\n", n, sum);
return 0;
}
相关问题
用C++表达输入整数n,输出斐波那契数列中小于n的最大项
您好,以下是用 C++ 实现输入整数 n,输出斐波那契数列中小于 n 的最大项的代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int fib1 = 1, fib2 = 1, fib3;
while (fib2 < n) {
fib3 = fib1 + fib2;
fib1 = fib2;
fib2 = fib3;
}
cout << fib1 << endl;
return 0;
}
```
使用 while 循环,每次计算出下一个斐波那契数列的数并将 fib1 和 fib2 更新,直到 fib2 大于或等于 n。最后输出 fib1,即小于 n 的最大项。
输入一个正整数n,输出 斐波那契数列的第n项。
斐波那契数列是指:从第3项开始,每一项都等于前两项之和。
例如:0、1、1、2、3、5、8、13、21、34、……
输入格式:
共一行,包含一个正整数n。
输出格式:
共一行,包含一个正整数,表示斐波那契数列的第n项。
数据范围:
1≤n≤30
输入样例:
5
输出样例:
3
算法1:递归
时间复杂度O(2^n)
时间复杂度O(n)
C++ 代码
算法2:迭代
时间复杂度O(n)
时间复杂度O(1)
C++ 代码