你们最喜欢的智力题:用PHP打印九宫格 - 三阶幻方_PHP教程

php中文网
发布: 2016-07-13 17:53:00
原创
826人浏览过

ignore_user_abort(true);
set_time_limit(0);
$tmp = array();
function getArr($arr='')
{
for ($i = 1; $i if ( empty($arr) ) {
$arr[] = $i;
} elseif ( in_array($i, $arr) ) {
continue;
} else {
$arr[] = $i;
}
if ( count($arr) getArr($arr);
}
if ( count($arr) 1 ) {
array_pop($arr);
continue;
} elseif ( count($arr) == 1 ) {
unset($arr);
continue;
} elseif ( checkArr($arr) ) {
$GLOBALS['tmp'][] = $arr;
}
}
}
function checkArr($arr)
{
$m = array();
$m[] = $arr[0] + $arr[1] + $arr[2];
$m[] = $arr[3] + $arr[4] + $arr[5];
$m[] = $arr[6] + $arr[7] + $arr[8];
$m[] = $arr[0] + $arr[3] + $arr[6];
$m[] = $arr[1] + $arr[4] + $arr[7];
$m[] = $arr[2] + $arr[5] + $arr[8];
$m[] = $arr[0] + $arr[4] + $arr[8];
$m[] = $arr[2] + $arr[4] + $arr[6];
$tmp = array_count_values($m);
foreach ($tmp as $v) {
if ( $v == 8 ) {
return true;
} else {
return false;
}
}
}
$startTime = microtime(true);
getArr();
$endTime = microtime(true);
for( $i=0; $i $arr = $tmp[$i];
echo $str=

















{$arr[0]} {$arr[1]} {$arr[2]}
{$arr[3]} {$arr[4]} {$arr[5]}
{$arr[6]} {$arr[7]} {$arr[8]}

fs;
}
echo '

共花费时间:';
echo round($endTime - $startTime, 3);
echo '秒

';www.2cto.com
die;
用穷举的方式完成的,8个结果
我的电脑大约要花10.5秒种时间
用递归的方式完成,可以很方便的增加到4阶、5阶……
花了20分种写出来的,如果把不可能条件排除的话应该不用一秒钟就可以完成的
你们最喜欢的智力题
作者:zdrjlamp

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478057.htmlTechArticleignore_user_abort(true); set_time_limit(0); $tmp = array(); function getArr($arr=) { for ($i = 1; $i = 9; $i++) { if ( empty($arr) ) { $arr[] = $i; } elseif ( in_array($i, $arr) ) {...
相关标签:
php
全能打印神器
全能打印神器

全能打印神器是一款非常好用的打印软件,可以在电脑、手机、平板电脑等设备上使用。支持无线打印和云打印,操作非常简单,使用起来也非常方便,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号