Standing on the Shoulder of Linus

Home / 2008 / 12月 / 15 / 52枚のカードをシャッフルする

52枚のカードをシャッフルする

(問題)
52枚のカードを26枚ずつに分け、一枚ずつ交互に混ぜる操作(リフルシャッフル)を行う。

0---------------
     ---------------26
1---------------
     ---------------27
          ・
          ・
          ・
25---------------
     ---------------51

この操作を繰り返すと、何回で元の並び順に戻るか?
(数学1プロムナード、古川昭夫著、SEG出版)

(解答)
mod 51で考える。(合同式modについては、合同式とは参照)
上から0枚目と51枚目は不動。(以下全て一番上を0枚目として上から数える)
1〜25枚目は、1→2, 2→4, と2倍した枚目に移動する。
26〜50枚目は、26→1, 27→3, と2倍して51を引いた枚目に移動する。
よって、このシャッフル操作は、k→2k(mod 51)へ動かす操作である。
この操作をx回繰り返すと、k→2xk(mod51)となる。
全てのkについてk→k(mod 51)となるのは、2x≡1(mod 51)となる時である。
2の階乗を順に書き出すと、2, 4, 8, 16, 32, 64(≡13), 128(≡26), 256(≡1)となるので、
2x=256すなわちx=8のとき、全てのカードが同じ場所にある。
よって答えは8回。

余談ですが、ライアーゲームの17ポーカーでは、秋山深一がパーフェクトシャッフルを活用してカードの並び順を把握して勝利する、というシーンがありました。

関連

← QRコード表示プラグイン 53枚のカードをシャッフルする →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.