worstcase @ 2016-02-02 16:42:02
double sum=0,k;
int n=0;
scanf("%lf",&k);
while(sum<=k){
n++;
sum+=1/(double)n;
}
为什么里面改成sum+=1/n就会超时
by kkksc03 @ 2016-02-02 17:27:40
@[url=/space/show?uid=15138]worstcase[/url] 1/n是按照整形进行处理,那只要n>=2 结果就是0。
当然你也可以写成1.0/n也有一样的效果。
by liaopifan @ 2016-02-14 14:13:38
老兄sum的初值应该是1吧
by cn_lemon @ 2016-07-27 10:32:03
整形忽略小数