考えを文章で伝える練習帳

考えを文章で伝える練習帳。文章を書く習慣を付けたいです。

歩きながらトーナメントビルダー(仮)の妄想を色々
金曜に話をするので、その後考えてもいいのだけど
今からある程度はイメージを持ちたい。妄想は楽しい。


(トーナメント雛形作成ページ)

受付ページ

登録リスト&30分前出席確認ページ

トーナメント表


流れはこんな感じと予想。
トーナメント表は昨日CGI書いてみたらできてしまったので
変な計算が必要な部分はもうないはず。


トーナメントの上から順1,2,3,…,nと並んでいる場合のnの優先順位mは
n-1をビット列に直してリバースすると得られることが判明した(大袈裟)。

どういうことかというと
1、2、3、4
というスロットの並びに大して
欲しい結果は
1、3、2、4

関数で例えると
F(1)=1
F(2)=3
F(3)=2
F(4)=4
みたいなFが分かればいい。


ここでスロット番号から1を引いて二進数で表記すると
00、01、10、11
これを2桁でリバースかけて
00、10、01、11
最後に1を足してあげれば
01、11、10、100
10進にすると
1、3、2、4

桁数はトーナメントが何Roundかに依存する。
まとめると
上からn番目のスロットの優先順位mはXroundのトーナメントだと


「n-1をX桁のビット列にしたものをリバースして1を足したもの」


になる。Xが自然数なら上手くいくはず。