while(1)这样应该可以算得快一些~
{
if(i%2==1)
{ i = (3*i+1)>>1; Res += 2;}
else
{ i = i>>1; ++Res;}
}
while( i != 1 )
{
if(i%2==1)
{ i = (3*i+1)>>1; Res += 2;}
else
{ i = i>>1; ++Res;}
}
不过这家比较bt,选择题猜错了得倒扣分……
Best wishes,
Mingliang ZHU
2009/10/31 Shuo Chen <gian...@gmail.com>:
On Nov 2, 12:16 pm, Lucas Zhang <zhangqing1...@gmail.com> wrote:
> 测试忍耐度...
>
> 2009/11/1 Li Yang <myice...@gmail.com>
>
>
>
>
>
>
>
> > 我想知道这种只能计算的问题到底考的对方什么呢?
> > 难道是 在时间有限的情况下对考题的取舍能力?
> > 2009/10/31 Lucas Zhang <zhangqing1...@gmail.com>
>
> >> 这可是传说中的数学难题啊[?]
>
> >> 不过可以变成这个样子:
>
> >> while(1)
> >> {
> >> if(i%2==1)
>
> >> { i = (3*i+1)>>1; Res += 2;}
>
> >> else
> >> { i = i>>1; ++Res;}
> >> }
>
> >> 这样应该可以算得快一些~
>
> >> 2009/10/31 Mingliang ZHU <mingliang....@gmail.com>
> 32B.gif
> < 1KViewDownload
貌似PKU上面有一道题类似这个。。。
2009/11/4 Moses <lx0...@gmail.com>: