您的位置:首页 > 编程语言 > C语言/C++

C语言实验——分数序列 (sdut oj)

2017-01-24 17:12 218 查看




C语言实验——分数序列

Time Limit: 1000MS Memory Limit: 65536KB


Problem Description

有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。




Input

输入只有一个正整数n,1≤n≤10。




Output

输出该序列前n项和,结果保留小数后6位。




Example Input

3





Example Output

5.166667



Hint


Author

参考代码

#include<stdio.h>
int main()
{
double z1 = 2.0;
double m1 = 1.0;
double z2 = 3.0;
double m2 = 2.0;
double z3;
double m3;
double x;
double n;
double sum1 = 0.0;
double sum2 = 0.0;
int i;
sum1 = 2.0;
sum2 = 3.5;
scanf("%lf",&n);
if(n == 1)
{
printf("%.6lf\n",sum1);
}
else if(n == 2)
{
printf("%.6lf\n",sum2);
}
else
{
for(i = 0; i <= n - 3; i++)
{
z3 = z1 + z2;
m3 = m1 + m2;
x = z3 / m3;
sum2 = sum2 + x;
z1 = z2;
m1 = m2;
z2 = z3;
m2 = m3;
}
printf("%.6lf\n",sum2);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SDUT OJ c语言 for