任意の整数n> 0に対して、関数gをg(n)= n XOR(n * 2)として定義します。
所与のx> 0、最小の整数を見つける> 0、YようグラムK(Y)= X一部について> 0 kは。
例
x = 549
549 = 483 XOR (483 * 2) (as binary: 1000100101 = 111100011 XOR 1111000110)
483 = 161 XOR (161 * 2) (as binary: 111100011 = 10100001 XOR 101000010)
つまり、g 2(161)= 549です。g(n)= 161のようなnは存在しないため、これ以上先に進むことはできません。したがって、x = 549の期待される出力はy = 161です。
ルール
- 無効なエントリをサポートすることは想定されていません。入力値xに対してペア(y、k)が存在することが保証されています。
- これはcode-golfなので、バイト単位の最短回答が勝ちです!
テストケース
3 --> 1
5 --> 1
6 --> 2
9 --> 7
10 --> 2
23 --> 13
85 --> 1
549 --> 161
960 --> 64
1023 --> 341
1155 --> 213
1542 --> 2
9999 --> 2819
57308 --> 19124
57311 --> 223
983055 --> 1
a(n) = g(n)