例如,有如下的十六进制数据:
27 2c 30 46 48 50 61 73 82 93 a3 aa b3 c4 d3 e5 f3 106 113 127 133 148 153
高位为index
(这部分为数据中的特征值),低四位为数据。以上数据中,27
和2c
只要一个,46
和48
也只要一个,a3
和aa
也只要一个,但必须每种组合都要有。
提取的其中一组数据如下:
27 30 48 50 61 73 82 93 a3 b3 c4 d3 e5 f3 106 113 127 133 148 153
Non-recursive version written by imitating next_premutation:
Idea:
First calculate the possible elements at each position.
Then use the carry algorithm to carry backwards in sequence.