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