作者aptx1596 (maddog)
看板PHP
标题[请益] 求救!解不开啊~ 不重复抽签的谜题!60人抽40支签
时间Fri Oct 5 15:04:49 2007
程式码如下,阵列中之数,一直都会有重复耶!
该怎嚜解决啊~想了3天3业还是解不开耶~
PS:不是作业,只是想挑战一下!!
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
<?
/****************************************
自1~60取随机数,放进大小为40格的阵列之中,
数字不可重复。有20支签不中。
****************************************/
//--------[取随机基数]-------------------
list($m, $t) = explode(" ",microtime());
$d = (double) $m -(double) $t*1359;
srand($d);
//---------------------------------------
/*************************************
1.建立阵列
2.随机产生数字
3.检查阵列内是否已有相同数字
3.1[有]回到 2 再次产生数字,接 3
3.2[无]数字PUSH进阵列,接 2
4.检查是否满400个了
**************************************/
$arr=array();
$rd=rand(1,60);
array_push($arr,$rd);
do{
$rd=rand(1,60);
foreach($arr as $value)
{
if($rd == $value)
{break;}
else
{
array_push($arr,$rd);
$arr_num++;
break;
}
}
}while(count($arr) <= 40);
//-------------[列印阵列]-------------------
foreach($arr as $key => $value)
{
echo "\$arr[{$key}] = {$value}<BR>\n";
}
$sss=array_count_values($arr);
foreach($sss as $key => $value)
{
echo"{$key} = {$value}个<BR>";
}
?>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.60.29.165
1F:→ aptx1596:v谢谢大大们~我先去试试喔~ 10/05 17:17