POJ NOI0105-33 计算分数加减表达式的值

问题链接POJ NOI0105-33 计算分数加减表达式的值

总时间限制:
1000ms
内存限制:
65536kB
描述

编写程序,输入n的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ... + (-1)n-1·1/n 的值。

输入
输入一个正整数n。1 <= n <= 1000。
输出
输出一个实数,为表达式的值,保留到小数点后四位。
样例输入
2
样例输出
0.5000

问题分析

  一个简单的有规律的序列求和,只不过奇数项为正,偶数项为负。要注意的是程序要尽量简洁,计算尽可能少。

程序说明

  输出格式是个要点,用C语言的输出格式通常要简单一些,C++也有自己的一套,估计能记住的人少之又少。


参考链接:(略)

AC的C++语言程序:

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    int n;
    float sum;

    cin >> n;

    sum = 0;
    for(int i=1; i<=n; i++) {
        if(i % 2 == 1)
            sum += 1.0 / i;
        else
            sum -= 1.0 / i;
    }

    cout << fixed << setprecision(4) << sum << endl;

    return 0;
}



posted on 2017-05-11 21:07  海岛Blog  阅读(652)  评论(0编辑  收藏  举报

导航