题目描述
输入一个正整数n,如果n为偶数,则计算1/2+1/4+1/6..+1/n的结果,如果n为奇数时,则计算1/1+1/3+1/5..+1/n的结果。输出最后计算的结果。
例如:输入为4,则计算1/2+1/4的结果,输出为0.75
输入为5,则计算1/1+1/3+1/5的结果,输出为1.53
输入
一个正整数n(1<=n<=1000)
输出
输出最后计算的结果(最后结果保留两位小数,不要在每次除法时保留小数)
样例输入7
样例输出 1.68
源代码
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
double result = 0.0;
if (n % 2 == 0) { // n为偶数
for (int i = 2; i <= n; i += 2) {
result += 1.0 / i;
}
} else { // n为奇数
for (int i = 1; i <= n; i += 2) {
result += 1.0 / i;
}
}
cout.precision(2);
cout << "最后计算的结果为:" << fixed << result << endl;
return 0;
}
以上代码中,我们首先读取输入的正整数n。然后,如果n为偶数,则使用循环计算1/2+1/4+1/6..+1/n的结果;如果n为奇数,则计算1/1+1/3+1/5..+1/n的结果。最后,输出结果并保留两位小数。
请注意,以上代码中的除法运算需要将其中一个操作数转换为浮点数,以避免整数除法的截断问题。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END