- ベストアンサー
数当てゲーム
このカテゴリはちょっとちがうかもしれないんですけど ある本に載っていた数当てゲームについて教えていただきたいのです。3枚のカードがあります。 ・一枚目 1、3、5、7 ・二枚目 2、3、6、7 ・三枚目 4、5、6、7 それぞれに上記の数字が書いてあります。 相手にこのうちの一つの数字を思ってもらいます。 それで、一枚目から順番にカードを見せていって思っている数字があるかないかを答えてもらいます。 相手が思っている数字を当てるには「ある」と答えたカードの先頭の数字を足せばいいのですが、なぜこれで当てられるのかを説明せよというものなのですが頭が悪くてわかりません。どなたかわかりやすく教えていただけないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
この問題は、2進数を使っていますね。 1= 1(2^0) 2= 10(2^1) 3= 11(2^1+2^0) 4=100(2^2) 5=101(2^2+2^0) 6=110(2^2+2^1) 7=111(2^2+2^1+2^0) としますと、0乗(=1)が1のものは1枚目に、 1乗(=2)が1のものは2枚目に、 2乗(=4)が1のものは3枚目に 列記されていることが分かると思います。その和が相手の思った数字ということになりますね。
その他の回答 (4)
先頭の数は2進数の基数(1,2,4,8・・・)に なっています。 これらを足してすべての自然数が表せます。 (2進法で表すのと同じ) 1,2,4の3つだと最大7まで。 2進法で1の位が1のものを1枚目に全部書きます。 2進法で10の位(実際には2)があるものを全部 2枚目に書きます。以下同様。
- TK0318
- ベストアンサー率34% (1260/3650)
2進法の原理を使用しています。 2進法とはすべての数を0と1の数字だけを用いて表現する方法で10進法で10の場合、2進法では1010(1×2^3+0×2^2+1×2^1+0×2^0)となります。 1~7を全部2進法であらわすと 1=001 2=010 3=011 4=100 5=101 6=110 7=111 2進法で1の位が1の数字が1枚目に、10の位が1の数字が2枚目に、100の位が1の数字が3枚目に書かれています。
- gatyan
- ベストアンサー率41% (160/385)
うまくいえないけど、2進法で考えるといいと思います。 つまり、1枚目は 2^0(2の0乗)の桁が1になる数が書いてある。 2枚目は2^1の桁が1に、3枚目は2^2の桁が1 一番左の数は それぞれ 2^0,2^1,2^2の値だから、すべて足せは数が求まる。
- MetalRack
- ベストアンサー率14% (298/2040)
1-7までの全ての数度で試してみれば良いのです。 試した結果、合っていれば、その仮定は正しいということになります。
お礼
134さんの所にまとめてお礼を書く無礼をお許し下さい。実はこれC言語の入門書に載っていた問題なんです。 なるほど、だから2進法を使ってるんですね。納得です。 ほんとバカなんで皆さんの回答を全部ひっくるめて考えてやっとわかりました。で、134さんのお答えが一番よくわかったのでここに書かせてもらいました。本当に皆さん有り難うございました。