imbecile @ 2020-05-17 13:52:55
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n=1,k;
double s=0.0;
cin>>k;
while(s<k)
{
s+=double(1/n);
n++;
}
cout<<n;
}
by 江户川·萝卜 @ 2020-05-17 13:54:50
是的
by 159号程序员 @ 2020-05-17 13:55:00
可以直接写s += 1.0 / n
by 159号程序员 @ 2020-05-17 13:55:11
超时是超了
by imbecile @ 2020-05-17 13:55:14
@江户川·萝卜 怎么改呢
by 159号程序员 @ 2020-05-17 13:55:19
可以用快读
by 159号程序员 @ 2020-05-17 13:55:33
或者scanf()
by 159号程序员 @ 2020-05-17 13:55:39
@zengxiangtuo
by imbecile @ 2020-05-17 13:55:42
@159号程序员 有其他办法吗
by 江户川·萝卜 @ 2020-05-17 13:56:06
double(1/n)是把1/n的结果再强制转换成double类型的,所以除了第一次一直是零
by 江户川·萝卜 @ 2020-05-17 13:56:20
成了死循环