它是什么类型的系列以及如何通过php程序生成它?
0 1 3 2 6 7 5 4 12 13 15 14 ...
观察:实体的连续差异为1
示例:
0和1的差异是1
3和2的差异是1
6和7的差异是1
5和4的差异是1
12和13的差异是1
15和14的差异是1
请帮忙......
答案 0 :(得分:1)
它的十进制等效格雷码直到n。我编写了一个代码来为任何数字生成Gray code,使用它生成一个系列。我使用过Javascript,但您可以选择任何您想要的语言。
Number.toGrayCode = function(n) {
if (n < 0) {
throw new RangeError("cannot convert negative numbers to gray code");
}
return n ^ (n >>> 1);
};
for( var i=0;i<=10;i++)
console.log(Number.toGrayCode(i));