思路:从位数入手,分成两部分,先确定左半部分的含1的个数,再确定右半部分含1的个数;计算当某一位为1时有多少种情况。layer 为位数举例: 个位:522 分成 52 2两个部分,当个位取1的时候,前边可以是 1-52,即可以生成 11,21,31,41...501,511,521共52个, 因为右边那部分 2>= ((10*02)-1)=1,所以还有一种情况是 1 所以当个位为1的时候有 52*1+1 = 53种 十位: 5 22 分成 5 22两个部分,因为 22>=((10*12)-1)=19,所以有 5*10+ 10 = 60种 百位: 522 分成 None 522 两...