龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

用1到8这八个自然数组成两个四位数,其中一个四

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
用1到8这八个自然数组成两个四位数(不可重复使用), br / 其中一个四位数是另一个四位数的4倍, br / 请问这两个四位数分别是什么?
用1到8这八个自然数组成两个四位数(不可重复使用),
其中一个四位数是另一个四位数的4倍,
请问这两个四位数分别是什么?
<?php
/*
 * 用1到8这八个自然数组成两个四位数(不可重复使用),
 * 其中一个四位数是另一个四位数的4倍,
 * 请问这两个四位数分别是什么?
 */
function isIt($i, $arr = null) {
    $blnStart = false;
    if (is_null($arr)) {
        $blnStart = true;
        $arr = array('1', '2', '3', '4', '5', '6', '7', '8');
    }
    $blnGo = ($i >= 1234 && $i <= 8765);
    if ($blnGo) {
        $s = (string)$i;
        for ($p = 0; $p < 4; $p ++) {
            $t = substr($s, $p, 1);
            if (in_array($t, $arr)) {
                $arr[$t - 1] = '#';
            } else {
                $blnGo = false;
                break;
            }
        }
    }
    $blnGo && $blnStart && $blnGo = isIt($i * 4, $arr);
	return $blnGo;
}

echo 'Result:<br />';
for ($i = 1234; $i < 8765 / 4; $i ++) {
    if (isIt($i)) {
        echo $i . ' * 4 = ' . ($i * 4) . '<br />';
    }
}

/**
 * 输出:
 * Result:
 * 1368 * 4 = 5472
 * 1863 * 4 = 7452
 */
精彩图集

赞助商链接