把数字用对应的等级进制表示,如果该为数字为2则需要输出两次该位的等级(避免和等级2重复) Note that this means that only the first two ranks in the list may be equal (因为后面都是输出的等级/包括等级2,只有在最低等级会出现n/weight=2的情况,最低位出现2,则输出两次等级) 比如: 1 = 1/1(0)【0】 2 = 2/1(0,2)【0,0】 3 = 3/3(1)【1】 4 = 4/3(1,余1) + 1/1(0)【0,1】 5 = 5/3(1,余2) + 2/1(0,2)【0,0,1】 6 = 6/3(1,2)【1,1】 27 = 27/15(3,余12) + 12/7(2,余5) + 5/3(1,余2) + 2/1(0)【0,0,1,2,3】
输入: 测试数t(1-10) t行十位数字,范围0…100663270 自己测了一下,范围内数字的最高等级 i 是25(227=134217728, 226=67108864,2i+1-1)