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:tcxgsy at 2005-08-06 10:55:01 > #include"stdio.h" > #include"math.h" > > main() > {int i=1,n,b=0,d=0,c; > long int a[1001],m; > while(scanf("%ld",&a[i])&&a[i]) //输入 > { > while(a[i]!=0) > {c=a[i]%2;a[i]/=2;b+=c;} //将输入的数据花为二进制,看看1的个数; > while(d!=b) //从输入的数据开始向上找,判断它化为二进制后的1的个数是否与前者相同 > { while(++a[i]!=0) 若相同 则输出哪个数。 > { m=a[i]; 这是我的基本思路,希望你们可以看看,敬请指教。 > c=m%2;m/=2;d+=c;} > } > printf("%ld\n",a[i]); > i++; > } > } > Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator