zhouzihao20110917 @ 2023-12-02 22:51:05
#include <bits/stdc++.h>
using namespace std;
int main() {
double n, sum = 0, u = 0;
cin >> n;
for (double i = 1;; i++) {
sum += 1 / i;
if (sum > n) {
u = i;
break;
}
}
cout << u;
return 0;
}
by danlao @ 2023-12-02 22:53:17
本体打表即可
by 0_and_1 @ 2023-12-02 23:40:34
可能是 double
的精度问题,不同编译器、运行设备会导致结果不同。
by 0_and_1 @ 2023-12-02 23:48:06
比如输入15,你的代码和我的代码在 Dev-C++ 上的结果是 1.83542e+006
,在洛谷自带 IDE 上的结果是 1.83542e+06
(一个0之差),由于这道题用的是文本比较而不是 SPJ,所以可能会出问题。
by 0_and_1 @ 2023-12-02 23:52:41
洛谷上没有