原地址:
http://topic.csdn.net/u/20110512/22/5c37e8f6-fbd6-4fa7-8053-670a02b68107.html
怎样检测数组(数字是5~11位的)里数据为连续的3位数,4位数,5位数,6....
(下面的分是我任意给的.我可以任意修改)
如果是10位连续的..就输出 100分
如果是9位连续的.. 就输出 92分
如果是8位连续的.. 就输出 72分
如果是7位连续的.. 就输出 62分
如果是6位连续的.. 就输出 52分
如果是5位连续的.. 就输出 42分
如果是4位连续的.. 就输出 34分
如果是4位连续的.. 就输出 30分
http://topic.csdn.net/u/20110512/22/5c37e8f6-fbd6-4fa7-8053-670a02b68107.html
怎样检测数组(数字是5~11位的)里数据为连续的3位数,4位数,5位数,6....
(下面的分是我任意给的.我可以任意修改)
如果是10位连续的..就输出 100分
如果是9位连续的.. 就输出 92分
如果是8位连续的.. 就输出 72分
如果是7位连续的.. 就输出 62分
如果是6位连续的.. 就输出 52分
如果是5位连续的.. 就输出 42分
如果是4位连续的.. 就输出 34分
如果是4位连续的.. 就输出 30分
$arr = array(4,7,0,2,4,5,6,9,1,2,3,4,5,6,8,0);
$arrPrice = array(3 => 30, 4 => 34, 5 => 42, 6 => 52, 7 => 62); //分值设置
$counter =$counterMax = 1;
for($i = 0; $i < count($arr) - 1; $i ++) {
if ($arr[$i + 1] == $arr[$i] + 1) {
$counter ++;
if ($counter > $counterMax) $counterMax ++;
}
else $counter = 1;
}
if ($counterMax >= 4) echo "检测到{$counterMax}位连续数字,得分为{$arrPrice[$counterMax]}分";
$ar = array(4,7,0,2,4,5,6,9,1,2,3,4);$score = array( 3=> 30, 34, 42, 52, 62, 72, 92, 100);echo $score[ continuous_num_check($ar) ];function continuous_num_check($p) {
$t = 1;
for($i=1; $i<count($p); $i++) {
if($p[$i] == $p[$i-1]+1) $t++;
else {
$m[] = $t;
$t = 1;
}
}
$m[] = $t;
return max($m);
}
int a = 0;
int[] nums = new int[sum.ToString().Length];
int b = 0;
for (int i = 0; i < sum.ToString().Length; i++)
{
a = Convert.ToInt32(sum.ToString().Substring(i,1));
nums[i] = a;
} for (int i = 0; i < sum.ToString().Length-1; i++)
{
if (nums[i] + 1 == nums[i + 1])
b++;
}
if(b == sum.ToString().Length-1)
{
b++;
switch (b)
{
case 3:
Console.WriteLine("32");
break;
case 4:
Console.WriteLine("42");
break;
case 5:
Console.WriteLine("52");
break;
case 6:
Console.WriteLine("62");
break;
case 7:
Console.WriteLine("72");
break;
case 8:
Console.WriteLine("82");
break;
case 9:
Console.WriteLine("92");
break;
}
}
Console.Read();