怎样检测数组里数据为连续的暴子3位数,暴子4位数,暴子5位数....一直到11位(给点意见吧..)最好代码粘上..谢谢原地址:
http://topic.csdn.net/u/20110513/14/393ffae9-9ecb-40a1-ae5d-df5511b5c9a2.html
怎样检测数组(数字是5~11位的)里数据为连续的暴子3位数,暴子4位数,暴子5位数,暴子6....暴子11位
(下面的分是我任意给的.我可以任意修改)
如果是11位连续的..就输出 100分
如果是10位连续的..就输出 100分
如果是9位连续的.. 就输出 92分
如果是8位连续的.. 就输出 72分
如果是7位连续的.. 就输出 62分
如果是6位连续的.. 就输出 52分
如果是5位连续的.. 就输出 42分
如果是4位连续的.. 就输出 34分
如果是3位连续的.. 就输出 30分
http://topic.csdn.net/u/20110513/14/393ffae9-9ecb-40a1-ae5d-df5511b5c9a2.html
怎样检测数组(数字是5~11位的)里数据为连续的暴子3位数,暴子4位数,暴子5位数,暴子6....暴子11位
(下面的分是我任意给的.我可以任意修改)
如果是11位连续的..就输出 100分
如果是10位连续的..就输出 100分
如果是9位连续的.. 就输出 92分
如果是8位连续的.. 就输出 72分
如果是7位连续的.. 就输出 62分
如果是6位连续的.. 就输出 52分
如果是5位连续的.. 就输出 42分
如果是4位连续的.. 就输出 34分
如果是3位连续的.. 就输出 30分
$arr = array(4,7,0,2,4,8,8,8,8,8,3,4,5,6,8,0);
$arrPrice = array(3 => 30, 34, 42, 52, 62, 72, 92); //分值设置
$counter =$counterMax = 1;
for($i = 0; $i < count($arr) - 1; $i ++) {
if ($arr[$i + 1] == $arr[$i]) {
$counter ++;
if ($counter > $counterMax) $counterMax ++;
}
else $counter = 1;
}
if ($counterMax >= 3) echo "检测到{$counterMax}位连续数字,得分为{$arrPrice[$counterMax]}分";///另外,如果出现223334444这种组合,上面代码只考虑连续位数最多的那一个数字出现的次数。
223334444 比如这样的...
如果数组里有3个暴子与4个暴子的哪好像就还有很多..
还得加IF语句吧.
如果数组里有3个3位的暴子 11122233 哪分要X3
如果数组里有2个3位的暴子和1个4位暴子 111222333 哪分要X2+4位暴子分只需要把他们的分相当输出数组的分数就行了.这样行不????
$arrPrice = array(3 => 30, 34, 42, 52, 62, 72, 92); //分值设置
$counter =$counterMax = 1;$arrTmp = array();for($i = 0; $i < strlen($arr) - 1; $i ++) {
if ($arr[$i + 1] == $arr[$i]) {
$counter ++;
if ($counter > $counterMax) $counterMax ++;
}
else {
if ($counterMax >= 3) $arrTmp[] = $counterMax;
$counter = $counterMax = 1;
}
}if ($counterMax >= 3) $arrTmp[] = $counterMax;if (count($arrTmp) > 0) {
$score = 0;
foreach($arrTmp as $v) $score += $arrPrice[$v];
echo "总分:{$score}";
}
请问一下,,能把我提出的这两个问题和成一个程序吗?
1连续的:http://topic.csdn.net/u/20110513/14/393ffae9-9ecb-40a1-ae5d-df5511b5c9a2.html
2暴子的:这页分值是1+2 整合在一起