- 总时间限制:
- 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; }