Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:哪位帮忙看看,为什么总超时呢?

Posted by worldguy at 2005-09-25 09:59:07 on Problem 1003
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator