・数当て                              KS 氏

 大学生からの問題です。

 1から27の整数を1つずつ書いた27枚のカードがある。27枚のカードから、Aが任意に選
んだ4枚のうち、3枚を選んでBに渡す。BはAの手元に残った1枚をあてる。

(イ) AとBは、事前にどのような打ち合わせをしておけばよいか?
(ロ) 28枚から4枚選んでも可能か?

  (追記) KSさんから、但し書きの追記をいただきました。

      大学生から、設問にはかいてありませんが、渡し方は同時に3枚で、裏表に混ぜ
     たりはしない、単純に順列だけを使う、とのことです。Aの持ちカードとBがもらうカー
     ドの順列をどのように対応させたらよいでしょうか?(→ 解答


 DD++さんからのコメントです。(平成27年7月13日付け)

 カードを渡す方法まで込みで考えていいのであれば、残したカードが「k」であることを伝え
るには、先に2枚渡して、k秒後に3枚目を渡すなどすれば、どんな整数でも伝えられるので
27枚だろうと28枚だろうと問題なく当てられます。

 カードを渡す方法で何かを伝えてはならず、Bは渡された3枚の数字の組み合わせだけで
当てなければならないとすると、n3通りの渡され方で、n4通りの可能性を判別するには
n3n4 つまり、n≦7 でなければならず、27枚どころか8枚ですら不可能です。

 ただ、どちらも27枚と28枚で話に違いがないので、元々の問題は、更に何か条件があっ
たのではないかと思いますが、いかがでしょう。


 らすかるさんからのコメントです。(平成27年7月14日付け)

 「27枚」という数から考えると、3枚のカードの順番を考慮してもよいということではないで
しょうか。(1枚ずつ渡すとか、3枚重ねて渡すなら重ねる順番を決めるとか)

 そうすると、273=274 なので、「27枚」という値に意味が出てきますね。


 GAI さんからのコメントです。(平成27年7月14日付け)

 1〜27を3進法表示すると、

{1,{1}}、{2,{2}}、{3,{1,0}}、{4,{1,1}}、{5,{1,2}}、{6,{2,0}}、{7,{2,1}}、{8,{2,2}}、{9,{1,0,0}}、{10,{1,0,1}}
{11,{1,0,2}}、{12,{1,1,0}}、{13,{1,1,1}}、{14,{1,1,2}}、{15,{1,2,0}}、{16,{1,2,1}}、{17,{1,2,2}}、{18,{2,0,0}}
{19,{2,0,1}}、{20,{2,0,2}}、{21,{2,1,0}}、{22,{2,1,1}}、{23,{2,1,2}}、{24,{2,2,0}}、{25,{2,2,1}}、{26,{2,2,2}}
{27,{1,0,0,0}}

なので、相手に渡す3枚のカードで、例えば

0-> 裏向き
1-> 表向きで相手から数字がすぐに読める向き
2-> 表向きで相手から数字が逆立ちしている向き
3枚とも裏向きで並べると、残りの1枚のカードの数字は27


と打ち合わせておけば、並んだ3枚のカードの状態から3進法に読み替え、残ったカードの
数字が当たる。

 これによく似た構造で(1245=1244)、1から124の整数を1つずつ書いた124枚のカ
ードがあるとき、任意の5枚を取り出し、この内4枚を相手に返し(テーブルに並べる)、手元
に残った一枚のカードの数字を当てる方法があります。

 当然トランプ(52枚)を含みますから、この原理を上手く利用すると、残ったカードのマーク
と数字をピタリと当てる遊びが可能になります。

 さてその方法は?


 KSさんからのコメントです。(平成27年7月14日付け)

 GAIさん、数字を逆にするとき、1とか6とか9とか11とかどうなりますか?クイズ的な心配
をしてしましましたが、一応大学の代数学の授業での問題です。


 DD++さんからのコメントです。(平成27年7月14日付け)

 順列は使っていいのではないか説に従って私が考えてみた途中経過。よくわからん問題は
簡単なものを作って考えろ、という鉄則通りにとりあえず8枚使って3枚中2枚渡すケースを考
えましょう。

 8の次の数が1だと思って数字の順序をループをさせます。計算記号の+は通常の足し算を
して結果が9以上になったら8を引くというルールにしておきます。(要はZ/8Zモドキです)
また、{ } は組み合わせ、( ) は順列とします。

 このとき、3枚のカードの中で最も近い2つの数字から順に考えると、3枚のカードの組み合
わせは、

{N,N+1,N+2}、{N,N+1,N+3}、{N,N+1,N+4}、{N,N+1,N+5}、{N,N+1,N+6}、{N,N+2,N+4}、{N,N+2,N+5}

のいずれかに該当します。それで、以下のように取り決めて、渡す側は左半分を、渡される
側は右半分を覚えておきます。

最初のカード -> 渡すカード ---> 渡されたカード -> 答える数
{N,N+1,N+2} -> (N+1,N+2) ---> (M,M+1) -> M+7
{N,N+1,N+3} -> (N+1,N+3) ---> (M,M+2) -> M+7
{N,N+1,N+4} -> (N+1,N+4) ---> (M,M+3) -> M+7
{N,N+1,N+5} -> (N+1,N) ---> (M,M+7) -> M+4
{N,N+1,N+6} -> (N,N+6) ---> (M,M+6) -> M+1
{N,N+2,N+4} -> (N,N+4) ---> (M,M+4) -> M+2
{N,N+2,N+5} -> (N,N+5) ---> (M,M+5) -> M+2

 これが8枚使って3枚中2枚渡すケースの解答の一例です。

 同じようなことを27枚使って4枚中3枚渡すパターンも考えればいいのですが、23が素数な
ので Z/27Z モドキで27個ずつ1まとめにするところは問題ないものの、それでもまだ650通り
もの組み合わせがあるので、さらにまとめないと構成が大変です。

 代数学の講義ということは実際に何かしてみるわけではないのでしょうから、650通りを網
羅できている実例が作れればそれを人間が覚えていられるかは度外視でいいんでしょうけ
ども……。


 DD++さんからのコメントです。(平成27年7月17日付け)

 議論の発端となった冒頭の問題にも数を合わせて解答しておきます。
※渡したカードの順を参照してよいという問題であるという前提にした場合の解答です。

(1) Aは以下の手順でカードを渡せばよい。

 4枚のカードの数値を合計し、4で割った余りを求める。
  余りが0なら最も大きい数のカード
  余りが1なら最も小さい数のカード
  余りが2なら2番目に小さい数のカード
  余りが3なら3番目に小さい数のカード
 を当ててもらうカードに選択。
 ※スタートが1からなので補正のため1つずれています。
 ※Bに伝えようとしている余りとここで計算した余りは別物であることに注意してください。

 未使用の23枚の中にそれより小さい数が何枚あるかを計算し、4で割った商を求める。
残りの3枚を
  商が0なら小中大の順
  商が1なら小大中の順
  商が2なら中小大の順
  商が3なら中大小の順
  商が4なら大小中の順
  商が5なら大中小の順
に重ねてBに渡す。

 Bは以下の手順でカードを当てればよい。

 カードの大小順から、Aが伝えた商を知る。3枚のカードの合計に0,1,2,3のいずれを加えれ
ば4の倍数になるかを計算し、それをAが伝えた余りとする。4で割った商と余りから元の数
を計算。27枚のカードから渡された3枚を除外し、残りからさらに前からその元の数と同じ枚
数だけ除外、その次にある数を答えればよい。

例:「5,9,16,24」の場合

 合計は54で、4で割った余りは2。よって、Aは2番目に小さい9を当ててもらうことにする。9
より前に未使用のカードは1,2,3,4,6,7,8の7枚。これを4で割った商が1であることを伝えるため
に、3枚を「5,24,16」の順に重ねてBに渡す。

 Bは「5,24,16」の順から商は1と知る。また、3枚の合計に3を加えれば4の倍数となることを
計算して余りは3と知る。4で割ると商が1で余りが3である数は7と計算。1から27までの中か
らまず渡された5,16,24を取り除き、残りからさらに前から7つ1,2,3,4,6,7,8を取り除いた次であ
る9を答えればよい。

(2) Bは残り1枚を知れば最初の5枚が何だったか全て知ることになる。したがってカードを確
 実に当てるには、最初のカード4枚の組み合わせから渡されたカード3枚の順列への写像が
 単射でなければならない。しかし、28枚あると、28C428P3であるからそれはありえない。
  よって28枚では不可能。


 りらひいさんからのコメントです。(平成27年7月26日付け)

 上記の議論を見て、次のようなこと((1)または(1’)または(2)または(2’))ができないか
考えました。私はちょっと考えてみただけで、できるかどうかはまだわかっていません。

<用意するもの>
パフォーマーA・B、観客 、トランプの中から一つのスートのカード13枚

<やり方(1){(1’)}> (あらかじめルールを決め、AとBで共有しておく。)

Bは目隠しをして後ろを向く。
Aは観客に13枚の中から6{7}枚を引いてもらう。残りの7{6}枚は伏せて脇に寄せておく。
Aは引いてもらった6{7}枚を表にして広げ、その中から(ルールに従って)3枚を選んでテー
ブルに並べる。
Aは残りの3{4}枚を観客に渡し、Bに見えないように持ってもらう。
Bは目隠しを外し、テーブルに並んだ3枚から(ルールに従って)観客の持つ3{4}枚を割り
出して当ててみせる。
観客は驚く。

※ルール…観客が選ぶ6{7}枚のカードの組み合わせと、テーブルに並べる3枚のカードの
       順列の、1対1対応関係

<やり方(2){(2’)}> (あらかじめルールを決め、AとBで共有しておく。)

Bは目隠しをして後ろを向く。
Aは観客に13枚の中から6{7}枚を引いてもらい、Bに見えないように持っていてもらう。
Aは残りの7{6}枚の中から(ルールに従って)3枚を選んでテーブルに並べ、残り4{3}枚
は伏せておく。
Bは目隠しを外し、テーブルに並んだ3枚から(ルールに従って)観客の持つ6{7}枚を割り
出して当ててみせる。
観客は驚く。

※ルール…観客が選ぶ6{7}枚のカードの組み合わせと、テーブルに並べる3枚のカードの
       順列の、1対1対応関係

 こんな感じのことができるルールはあるでしょうか?



                         投稿一覧に戻る