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 |
为什么会超时呢?是不是我的程序在算法上有问题?#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