输入格式: 测试数据由多组,处理到文件尾。每组测试输入一个正整数n(2≤n≤20)。 输出格式: 对于每组测试,输出Fibonacci分数序列的前n项之和。结果保留6位小数。用c语言
时间: 2023-06-17 18:06:55 浏览: 116
```c
#include <stdio.h>
double fibonacci(int n) {
double a = 1, b = 1, sum = 0;
for (int i = 1; i <= n; i++) {
sum += b / a;
double t = a + b;
a = b;
b = t;
}
return sum;
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
printf("%.6lf\n", fibonacci(n));
}
return 0;
}
```
相关问题
输入一个正整数n,求出由1加至n的总和。测试数据保证结果不大于2147483647。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一个正整数n。 输出格式: 对于每组测试,输出1+2+3……+n的和。
好的,您的问题是如何输入一个正整数n,求出由1加至n的总和。我可以为您提供一个C++的代码示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
while (cin >> n) {
long long sum = (long long)n * (n + 1) / 2;
cout << sum << endl;
}
return 0;
}
```
这里使用了等差数列求和公式,即 $1+2+3+\cdots+n=\frac{n(n+1)}{2}$。注意要使用 `long long` 类型来存储结果,以避免溢出。
c语言输入一个正整数n,求出由1加至n的总和。测试数据保证结果不大于2147483647。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一个正整数n。 输出格式: 对于每组测试,输出1+2+3……+n的和。
好的,这是一个简单的 C 语言问题。可以使用循环来计算 1 到 n 的总和。以下是示例代码:
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("%d\n", sum);
}
return 0;
}
```
该程序会不断从标准输入读取数据,直到读取到文件末尾。对于每个输入的正整数 n,程序会计算 1 到 n 的总和并输出结果。注意,题目中保证结果不大于 2147483647,因此可以使用 int 类型来存储总和。
阅读全文