你需要给一批商品编号,其中每个编号都是一个7位16进制数,为了防止在人工处理时不小心把编号弄错,要求任意两个编号至少有三个位置对应的数字不相同,第一个编号为0000000,第二个编号为不违反上述规定的前提下最小的编号,…,每次分配一个新编号时,总是选择不和前面编号冲突的最小编号, 按此规律,前面若干编号分别是:0000000, 0000111, 0000222, …输入k,你的任务是求出第k小的编号。
你需要给一批商品编号,其中每个编号都是一个7位16进制数(由0~9, a-f组成)。为了防止在人工处理时不小心把编号弄错,要求任意两个编号至少有三个位置对应的数字不相同。第一个编号为0000000,第二个编号为不违反上述规定的前提下最小的编号,…,每次分配一个新编号时,总是选择不和前面编号冲突的最小编号(注意编号都是16进制数,可以比较大小)。 按此规律,前面若干编号分别是:0000000, 0000111, 0000222, …, 0000fff, 0001012, 0001103,0001230,0001321,0001456,… 输入k,你的任务是求出第k小的编号。
(图片来源网络,侵删)