アカウント名:
パスワード:
if (x.eq.1) return 0if (x.eq.2) return 1if (x.eq.4) return 2if (x.eq.8) return 3(中略)if (x.eq.512) return 9stop 'illegal x'
#define func1to9(x) ( 9 - (2271560481U*(x>>1)*(x>>1)*(x>>1)*(x>>1) >> 28) )#define func0to8(x) ( 8 - (2271560481U*x*x*x*x >> 28) )
"\1\2\3\010\6\4\011__\7\5"[n*0x5300000>>28];
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
別解 (スコア:1)
ぼくがなにか勘違いしているのかな。
love && peace && free_software
t-nissie
Re: (スコア:1)
ということで、1, 2, 4, ... 512 の完全最小ハッシュを作る、というのが最小の解のようです。(乗算x1, ビットシフトx1, インデックスメモリ参照x1)
Re: (スコア:1)
これが題意か。納得。しかし、
>(乗算x1, ビットシフトx1, インデックスメモリ参照x1)
ここまで小さくできないです。これがぼくの限界か(32bit限定だし): 0≦a≦8のほうが綺麗に書けるから、わざわざ1≦a≦9にしているのを使っていないのか…
love && peace && free_software
t-nissie
Re:別解 (スコア:1)