| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:哪位帮忙看看,为什么总超时呢?In Reply To:哪位帮忙看看,为什么总超时呢? Posted by:xuan at 2005-07-27 11:38:25 > main()
> { int i;
> float c,n=0;
考虑用double型
> scanf("%4.2f\n",&c);
> while(c!=0.00)
判断浮点数应该用不等式,比如
while( c < eps )
eps表示精度,可以取eps=1e-6,eps=1e-9等
> {
> for(i=1;;i++)
我觉得这样写for循环风格不好,而且默认的表达式如果为假,结果肯定不对了。
建议改用while
> {
> n+=1/(i+1);
需要强制转换类型: n+=1/double(i+1)。1/(i+1)为整型除法,结果为0
> if(n>=c) break;}
> }
> printf("%d card(s)\n",i);
> }
>
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator