| ||||||||||
| 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