利用PHP判断是否是连乘数字串的方法示例
php  /  管理员 发布于 7年前   160
描述 有这样一道题,给出一个数字串A,需要判断A是否为连乘数字串,连乘数字串的定义就是一个数字串可以拆分成若干个数字,后面的数字(从第N个数字开始)为前面2个数字的乘积。 举例 (1) '122' --- 可以拆成[1|2|2] 结果: 1×2=2 (连乘数字串) (2) '1122242' --- 可以拆成[11|22|242] 结果: 11×22=242 (连乘数字串) (3) '1224832256' --- 可以拆成 [1|2|2|4|8|32|256] 结果: 1×2=2,2×2=4,2×4=8,4×8=32,8×32=256 (连乘数字串) (4) '234547898185239692' --- 可以拆成 [23454|7898|185239692] 结果:23454×7898=185239692 (连乘数字串) (5) '113' 可以拆成 [1|1|3] 结果:1×1 != 3 (非连乘数字串) 代码 执行 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对AIDI的支持。/** * 判断是否连乘数字串函数* @param $strNum * @return bool **/function isExec($strNum) { $str = (string)$strNum; for ($i = 0; $i < strlen($str); $i++) { $k = 1; for ($j = $i + 1; $j < strlen($str); $j++) { $a_i = 0; $b_i = $i + 1; $p_i = $i + 1; $m_i = $k++; $c_i = $b_i + $m_i; $res = false; $formula = []; while (1) { $a = substr($str, $a_i, $p_i); $b = substr($str, $b_i, $m_i); $n = $a * $b; $c = substr($str, $c_i, strlen($n)); //echo '
' . $a . '*' . $b . '=' . $n . '->' . $c . '
'; if($c){ $formula[] = $a . '*' . $b . '=' . $n; } if ($c === false || $c === "") { break; } if (intval($n) == intval($c)) { $p_i = strlen($b); $m_i = strlen($n); $a_i = $b_i; $b_i = $c_i; $c_i = $b_i + $m_i; $res = true; } else { $res = false; break; } } if ($res === true) { print_r($formula); return true; } //var_dump($res) . '
'; } } return false;}var_dump(isExec('1224832256'));
//运行结果Array[ [0] => 1*2=2 [1] => 2*2=4 [2] => 2*4=8 [3] => 4*8=32 [4] => 8*32=256]bool(true)
var_dump(isExec('234547898185239692'));
//运行结果Array[ [0] => 23454*7898=185239692]bool(true)
var_dump(isExec('1122242'));
//运行结果Array[ [0] => 11*22=242]bool(true)
var_dump(isExec('11234'));
//运行结果bool(false)
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号