xxx听取AC声一片 @ 2019-10-27 20:41:40
#include<bits/stdc++.h>
using namespace std;
int k,sum;
int main()
{
cin>>k;
for(int i=1;;i++)
{
sum=0;
for(int j=1;j<=i;j++)
sum+=1/j;
if(sum>k) {cout<<i;break;}
}
return 0;
}
以上是超时代码
by bezel @ 2019-10-27 20:47:00
by _lcy_ @ 2019-10-27 20:48:06
然后1改成1.0
by _lcy_ @ 2019-10-27 20:48:24
否则你加的还是0
by bezel @ 2019-10-27 20:48:26
上面说的有点问题,是
by 0nullptr @ 2019-10-27 20:48:35
@tt100723
sum
定义成double
类型,最里面的for
循环里写
sum += 1.00 / j
,if
里面写sum >= k * 1.00
by _lcy_ @ 2019-10-27 20:49:42
by USS_Enterprise @ 2019-10-27 20:49:44
好水啊。。。 你们这样好吗。。。
by _lcy_ @ 2019-10-27 20:50:15
或者改成py
by USS_Enterprise @ 2019-10-27 20:51:23
@一个python屑 你那个红字是怎么打的???
by Belarus @ 2019-10-27 20:52:34
这题可以用调和级数做吗??求助