coderzhx @ 2024-06-07 19:50:04
#include <iostream>
using namespace std;
double sum = 0;
int k;
int cnt = 1;
int main() {
cin >> k;
while (sum < k) {
sum += 1 / cnt;
cnt++;
}
cout << cnt;
return 0;
}
by Foggy_night @ 2024-06-07 19:54:31
用do while然后条件改一下sum <= k
by xiaozhou001 @ 2024-06-07 20:06:26
@Geyijinnoip
sum+=1/cnt;
换成
sum+=1./cnt;
就可以了。
因为sum虽然是double类型,但是 1/cnt
还是int。但是在进去sum后变为了double.也是很多初学者会犯得问题。
by coderzhx @ 2024-06-08 12:28:31
@xiaozhou001 谢谢
by coderzhx @ 2024-06-08 12:29:30
@Foggy_night 谢谢了