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 |
程序有BUG!超时了剪枝或者换个算法试试!In Reply To:请问高手:为什么输出的前面的数对,后面却都多2呢?还有time limit exceed怎么办? Posted by:870817 at 2005-12-29 13:39:57 > #include <stdio.h> > #include <math.h> > void main(){ > int i,j,k,m,s[10000]={0},n[3]; > for(i=1;i<10000;i++){ > n[0]=n[1]=n[2]=0; > j=i; > for(k=0;k<3;k++){ > n[k]=j%10; > j=j/10; > if(j==0) break; > } > m=i+n[0]+n[1]+n[2]; ~~~~~~~~~~~~~~~~~~~~ 应该再加个j,当i小于四位数没事,当i是四位数就j不为0了,所以后面的差2 > if(m<10000) s[m]--; > } > for(i=1;i<10000;i++){ > if(s[i]==0) printf("%d\n",i); > } > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator