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

仔细看看有没有可能哪里数组越界吧,runtime error,问为什么就是程序有问题

Posted by hawk at 2005-04-26 23:45:35 on Problem 2034
In Reply To:Re:请问为什么Runtime error? Posted by:noskill at 2005-04-26 23:39:59
这里好多题目数据都加了的
递归也可以看一下,会不会溢出
> 我在zju AC了,为什么这里Runtime error?
> #include<iostream.h>
> #include<memory.h>
> #include<math.h>
> int a[1010],tn,f,t,d;
> bool v[1010],num[10001];    
> int check()
> {
>     int i,m=0,sum=a[tn+f-1];
>     for(i=tn-1+f-1;i>=tn-d+1+f-1;i--)
>     {sum+=a[i];if(!num[sum]){m=1;break;}}
>     return m;    
> }    
> int antiprime()
> {
>     int i;
>     if(tn>=2&&check())return 0;
>     if(tn==t-f+1)return 1;
>     for(i=f;i<=t;i++)
>     {
>         if(!v[i]){
>             tn++;v[i]=1;a[tn+f-1]=i;
>             if(antiprime())return 1;
>             else{tn--;v[i]=0;}
>         }    
>     }    
>     return 0;
> }     
> int main()
> {
>     int i,j;
>     for(i=3;i<=10000;i++)
>     {
>         for(j=2;j<=(int)sqrt(i);j++)
>         if(i%j==0){num[i]=1;break;}
>     }    
>     while(cin>>f>>t>>d,d!=0)
>     {
>         memset(v,0,sizeof(v));
>         memset(a,0,sizeof(a));
>         tn=0;
>         if(antiprime())
>         {
>             for(i=f;i<t;i++)cout<<a[i]<<',';
>             cout<<a[t]<<endl;   
>         }    
>         else cout<<"No anti-prime sequence exists."<<endl;          
>     }    
>     return 0;
> }    

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