要生成n的值,请写出n的十进制展开式。然后写出1的十进制展开式(0000000000….001)。计算需要将0更改为1或将1更改为0才能从一个数字切换到另一个数字的次数。
2^x的值始终为2。2^x+1的值始终为1。当x>0时,2^x-1的值总是x-1。要达到2^x,您需要删除开头的1,然后在2^x位值中添加1。
对于2^x+1,您需要在2^n位值中添加1,但保留1s位值中的1。因此,您只需要添加或删除一个数字。
对于2^x-1,它将有x个数字,所有的数字都是1。1的位值中已经有1,所以剩下n-1个数字。
|