52枚のカードをシャッフルする、53枚のカードをシャッフルするでの議論の意味することを考えてみます。
52枚の時は8回で元に戻ります。53枚の時は52回で元に戻ります。すなわち、53枚のほうがカードがばらつく、と考えられます。これがジョーカーの価値です。通常のカードはシンボルがスペードハートダイヤクラブの4個、数字がA, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2 の13個で52枚のところ、ジョーカーを一枚加えると53枚になります。
もちろんジョーカーはたいていのゲームで特別な役割を持つわけですが、カードシャッフルにおいても、1枚増やすことが大きな影響を与えるわけです。
プログラムのソースコードを掲載しておきます。
<?php $num_card = 0; $num_shuffle = 0; class player {/*{{{*/ var $values = array(); var $num = 0; var $devide = 0; function player($num) { $this->num += $num ; $this->devide += $this->num ; if ( 0 == $this->num % 2 ) { $this->devide-- ; } for ($i=0;$i<$this->num;$i++) { array_push( $this->values, $i ); } $this->output(); } function shuffle() { /*{{{*/ for ($i=0;$i<$this->num;$i++) { $this->values[$i] = $this->values[$i] * 2 % $this->devide ; } } /*}}}*/ function output() { echo "("; echo implode(", ", $this->values); echo ")<br>n"; } }/*}}}*/ ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (2 <= $_POST['card'] && 60 >= $_POST['card'] && 1 <= $_POST['timeshuffle'] && 60 >= $_POST['timeshuffle'] ) { $num_card += $_POST['card'] ; $num_shuffle += $_POST['timeshuffle'] ; $obj = new player($num_card); print "<hr>"; for ($j=0;$j<$num_shuffle;$j++) { $obj->shuffle(); $obj->output(); } } ?> <form action="53card.php" method="post"> カードの枚数(2-60): <input type="text" size=5 name="card" value=""> シャッフル回数(1-60): <input type="text" size=5 name="timeshuffle" value=""> <input type="submit" name="submit" value="submit"> </form> </body> </html>