- 締切済み
重複しない番号の求め方
現在作ろうとしてるのが下記の通りです。 ■一段目 └(1 3 5 7 9 11 ・・・・) ■二段目 └(2 3 6 7 ・・・) ■三段目 └(4 5 6 7 ・・・) ■四段目 └(8 9 10 11 ・・・) ・・・ 1段目は (2*0)+1 , (2*1)+1 ・・・ と言った感じで求められるのですが 2段目~がどう計算したら良いのか解りません。 用途はメニューを作りたいと思っていて メニュー1が押された場合は 1 メニュー2が押された場合は 2 メニュー1とメニュー2が押された場合は 3 ・・・・ と言う感じでずっと続いていきます。 説明下手で解りにくいと思いますがお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nag0720
- ベストアンサー率58% (1093/1860)
回答No.3
何を使って計算するのかにもよりますが、剰余演算(mod)が使えるのなら、 n=0,1,2,3,・・・・ として、 一段目:2n+1 二段目:2n+2-(n mod 2) 三段目:2n+4+(n mod 4) 四段目:2n+8+(n mod 8) ・・・・・・・ k段目:2n+2^(k-1)+(n mod 2^(k-1))
- ferien
- ベストアンサー率64% (697/1085)
回答No.2
>■二段目 >└(2 3 6 7 ・・・) >2段目~がどう計算したら良いのか解りません。 奇数番目が、初項2,公差4の等差数列, 偶数番目が、初項3、公差4の等差数列, になっているので、 奇数番ごと偶数番ごとに4ずつ足していけばいいと思います。
noname#157574
回答No.1
2進数ですな。例えば10進数の26は2進数では11010で表されます。 よって10進数の26はメニュー5,4,2を押すことによって実現されます。