切换到宽版
  • 23821阅读
  • 18回复

2^N的问题,怎么做才不会超时而且不会Output Limit Exceeded? [复制链接]

上一主题 下一主题
离线papayawing
 
只看楼主 正序阅读 0 发表于: 2006-09-26
题目是这样的:
Description

Each natural number is the sum of some powers of two. For example: 37=2^5+2^2+2^0. Now, we say a^b can be indicated like this: a(b), so 37=2(5)+2(3)+2(0). 5=2(2)+2(0), 3=2+2(0), so in the end 37=2(2(2)+2(0))+2(2)+2(0). We call this 0-2 Indicating Method.

Input

Each line contains only a number N(N<32767), the input will be end by a zero.

Output

Please use 0-2 Indicating Method to indicate each number, each for one line. There is no extra blank in each line.

Sample Input

37
0

Sample Output

2(2(2)+2(0))+2(2)+2(0)

就是要把一个数转化成用2^0和2^2表示的式子。
我的程序它总是说Output Limit Exceeded
而且这个题目很模糊,比如说,根据题意,8可以有两种答案:
2(2(0)+2(0)+2(0))
2(2)+2(2)
其实我觉得还可以2(0)加8个这样等等(不过这些不是最优解)
那么,这题到底应该怎么做才好呢?

请告诉我吧,谢谢了。
离线魔哒蒂斯
只看该作者 18 发表于: 2009-09-12
不知道啦
离线edyin88
只看该作者 17 发表于: 2008-04-23
。。。这个,不就是进制转换的变形么? 应该简单吧
离线zou
只看该作者 16 发表于: 2008-02-23
先求出37=2(5)+2(2)+2(0)
然后看不在2和0中的,5表示为2(2)+2(0),这样就行了!
离线yonghu86cs
只看该作者 15 发表于: 2008-02-21
??????
离线xmcst
只看该作者 14 发表于: 2008-01-31
不应该是用高精度吗!要想不超时外加个分治~~不过要看你有没有本事了.
离线小僵
只看该作者 13 发表于: 2007-10-28
简单题目,楼上正解。
离线wws
只看该作者 12 发表于: 2007-10-12
32<37<64
37-32=5
32==>2(5)
          4<5<8
          5-4=1      1==>2(0)
                4==>2(2)
4<5<8
5-4=1     
1==>2(0)
4==>2(2)
离线fchqq
只看该作者 11 发表于: 2007-10-11
离线amyhab
只看该作者 10 发表于: 2007-10-10
To Be,Or not to be.That's a Question!!!!!!!
快速回复
限100 字节
 
上一个 下一个