- 656 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:01:57 ]
- 実際に有効かは分からないが,使えそうな配列を見つけたので貼っとく.
int base[] = {0,14,5,1,19,8,16,24,32,54,37,33,67,48,64,80, 96,110,101,97,131,104,128,136,160,198,165,161,227,192,224,2464, 256,270,261,257,275,264,272,280,320,342,325,321,387,336,384,400, 448,462,453,449,515,456,512,520,576,646,581,577,707,640,704,7744, 768,782,773,769,787,776,784,792,800,822,805,801,899,816,896,912, 928,942,933,929,1027,936,1024,1032,1056,1158,1061,1057,1187,1152,1184,2432, 1280,1294,1285,1281,1299,1288,1296,1304,1408,1430,1413,1409,1539,1424,1536,1552, 1664,1678,1669,1665,1795,1672,1792,1800,1920,2054,1925,1921,2179,2048,2176,2304, 2560,2574,2565,2561,2579,2568,2576,2584,2592,2614,2597,2593,2627,2608,2624,2640, 2656,2670,2661,2657,2819,2664,2816,2824,2848,2886,2853,2849,2915,2880,2912,7456, 3072,3086,3077,3073,3091,3080,3088,3096,3136,3158,3141,3137,3331,3152,3328,3344, 3392,3406,3397,3393,3587,3400,3584,3592,3648,3846,3653,3649,3907,3840,3904,7680, 4096,4110,4101,4097,4115,4104,4112,4120,4128,4150,4133,4129,4355,4144,4352,4368, 4384,4398,4389,4385,4611,4392,4608,4616,4640,4870,4645,4641,4899,4864,4896,7424, 5120,5134,5125,5121,5139,5128,5136,5144,5376,5398,5381,5377,5635,5392,5632,5648, 5888,5902,5893,5889,6147,5896,6144,6152,6400,6662,6405,6401,6915,6656,6912,7168}; この配列は2つの1バイトのビットパターン b,w (b&w == 0) に対して (int) r = base[b|w]+b (or base[b|w]+w) を重複なく定める. 可能なパターン数3^8=6561に対して,rのとりうる値は[0, 7872)なので 濃度は83%強.もっと圧縮する方法があるのかもしれないが,俺にはもうムリポ あと,単純なリバーシを作ってみたんだけど,zip貼るのに適したロダってある?
|

|