PHP实现的分解质因数操作示例

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP实现的分解质因数操作示例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现的分解质因数操作。分享给大家供大家参考,具体如下:

思路:

如果要计算$num的质数,则至少收集$num以内的质数数组,判断$num是否在质数数组里:

如果否,则判断当前质数$zhishu[$i]是否能再次将整除后的数整除,如果能,则质数数组“游标”不移动(还让当前质数$zhishu[$i]对被整除后的数取模)

如果不能(再次将整除后的数整除),则用下一个质数(让$i++)去测试是否整除。如果否($num在质数数组里),则表示$num本身就是个质数,直接echo之。(思路看得糊涂的话,直接看代码吧)

首先:用一个函数收集一定范围内的质数放到数组里返回。(把1从质数里剔除,从2开始算质数),代码和注释如下:

<PRe class="brush:PHp;"> //得到1000以内的质数 function get_zhishu($num=1000){ $num = floor($num); $zhishu = array(); //先得到1000以内的质数 for($i=1; $i<=$num; $i++){="" $flag="true;" 当flag为false时表示该数不是素数="" for($j="2;"><$num; $j++){="" $j从2开始,因为除数为1时,肯定能整除="" if($i="">$j){ //$j如果比$i还大,取模肯定不为0,没有比较的意义 $mod = $i%$j; if($mod == 0 ){ //当除数$j为$i以内时,如果取模为0,表示该数不是素数 $flag = false; } } } if($flag){ array_push($zhishu,$i);//如果$flag为真,则$i是质数 } } array_shift($zhishu); //把1从质数数组中剔除 return $zhishu; } $zhishu = get_zhishu(1000); //得到1到1000之内的质数

脚本宝典总结

以上是脚本宝典为你收集整理的PHP实现的分解质因数操作示例全部内容,希望文章能够帮你解决PHP实现的分解质因数操作示例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: