急.....数字重组计算问题
本帖最后由 staryjk 于 2013-05-15 12:58:27 编辑 问题描述:
现在有一组数字需要计算重组后总数,以最快的速度计算出总数.
数字不一定就是给出的这些,也有可能是其它数字
数字:
例一
1->0123
2->01234
3->678
总数:60
例二
1->0123456789
2->0123456789
3->01234
总数:500
写一个方法计算出重组后的总数和重组后的号码
[解决办法]
这个意思?
$ar = array(Array
'0123',
'01234',
'678',
);
print_r(foo($ar));
function foo(&$ar, $i=0) {
$res = array();
if($i+1 <count($ar)) {
$t = foo($ar, $i+1);
foreach(str_split($ar[$i]) as $v) {
foreach($t as $r) $res[] = $v . $r;
}
}else $res = str_split($ar[$i]);
return $res;
}
[44] => 248
[45] => 306
[46] => 307
[47] => 308
[48] => 316
[49] => 317
[50] => 318
[51] => 326
[52] => 327
[53] => 328
[54] => 336
[55] => 337
[56] => 338
[57] => 346
[58] => 347
[59] => 348
)
[解决办法]