php分解质因数,用PHP如何实现将一个整数分解为质因数的积?

先对数字进行因式分解算法

再过滤结果集中,不符合的结果集。

class Helper

{

public function chechPrime($num)

{

for ($i = floor(sqrt($num)); $i > 1; --$i) {

if ($num % $i == 0) {

return false;

}

}

return true;

}

public function getFactorNumber(array &$result, array &$list, $n, $startFactor)

{

if ($n == 1) {

if (count($list) > 1) {

$result[] = $list;

}

return;

}

for ($i = $startFactor; $i <= floor(sqrt($n)); ++$i) {

if ($n % $i === 0) {

array_push($list, $i);

$this->getFactorNumber($result, $list, $n / $i, $i);

array_pop($list);

}

}

array_push($list, $n);

$this->getFactorNumber($result, $list, 1, $n);

array_pop($list);

}

public function primeFactorNumber($num): array

{

$result = [];

$list = [];

$this->getFactorNumber($result, $list, $num, 2);

array_push($result, [$num, 1]);

$result = array_filter($result, function ($value) {

foreach ($value as $v) {

if (!$this->chechPrime($v)) {

return false;

}

}

return true;

});

return $result;

}

}

$helper = new Helper();

$result = $helper->primeFactorNumber(90);

var_dump($result);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php oracle 中文字段,怎么解决php oracle乱码问题

php oracle乱码是由于没有正确的配置字符集信息导致的&#xff0c;其解决办法就是通过PLSQL运行“select * from V$NLS_PARAMETERS;”获取oracle的字符集&#xff0c;并重新设置正确的字符集即可。PHP Oracle 中文乱码问题通常缺省配置连接Oracle在处理中文时都会遇到乱码问题&…

php中数组生成下拉选项,php数组生成html下拉列表的方法

这篇文章主要介绍了php数组生成html下拉列表的方法,涉及php根据数组动态创建html代码的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了php数组生成html下拉列表的方法。分享给大家供大家参考。具体如下&#xff1a;这段代码可根据定义好的php数组动态生成一…

用matlab数学综合实验,MATLAB与数学实验(第2版)

MATLAB与数学实验(第2版)作者&#xff1a;艾冬梅 李艳晴 张丽静 刘琳出版日期&#xff1a;2014年06月文件大小&#xff1a;46.48M支持设备&#xff1a;&#xffe5;18.00在线试读适用客户端&#xff1a;言商书局iPad/iPhone客户端&#xff1a;下载 Android客户端&#xff1a…

mysql主从复制超简单,mysql简单主从复制

在master配置文件中追加log-binmysql-binserver-id1log-bin-indexmaster-bin.index[mysqld]group_replication.so### 重启mysql服务sudo /etc/init.d/mysql restart### 在slave配置文件中追加server-id2relay-log-indexslave-relay-bin.indexrelay-logslave-relay-bin[mysqld]#…

php 输出中文的引号,如何将php英文引号转换为中文引号

如何将php英文引号转换为中文引号发布时间&#xff1a;2020-07-30 10:17:27来源&#xff1a;亿速云阅读&#xff1a;57作者&#xff1a;Leah这期内容当中小编将会给大家带来有关如何将php英文引号转换为中文引号&#xff0c;文章内容丰富且以专业的角度为大家分析和叙述&#x…

SpringBoot运维(二)-- SpringBoot配置文件的4个级别

目录 1. 4个级别的分类 2. 加载优先顺序 3. 4个级别的应用场景 1. 4个级别的分类 4个级别分别是: 类路径下配置文件(一直使用的是这个,也就是resources目录中的application.yml文件)。 类路径下config目录下配置文件。 程序包所在目录中配置文件

matlab破损皮革定位,matlab-code-of-TDOAFDOa 干扰源定位代码,应该在 的求解过程中有帮助。 276万源代码下载- www.pudn.com...

文件名称: matlab-code-of-TDOAFDOa下载 收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 38 KB上传时间: 2014-05-31下载次数: 25提 供 者: qqq详细说明&#xff1a;干扰源定位代码,应该在干扰源定位的求解过程中有帮助。-code for tdoa and fdoa文件列表(点击判断是否您…

php里面没有mssql,为什么没有正确使用PHP / MSSQL的日期/时间?

我最近将服务器上运行的PHP版本升级到5.3.20.从那以后,每当我从MSSQL数据库(mssql_query)中提取日期时,我就会得到奇怪的错误日期.我检查了区域设置,默认时区设置为’Australia / Brisbane’,我还检查了php.ini设置并确认mssql.datetimeconvert已关闭.当选项打开时,日期似乎通过…

debian 安装php gd2,如何在Debian Linux中为PHP安装Ioncube

在Debian Linux系统中安装PHP Ioncube加载器。 Ioncube用作PHP应用程序的加密和解密实用程序&#xff0c;通过它我们可以保护数据安全。 它还可以限制PHP应用程序执行未授权。 它还有助于加速提供的页面。 IonCube加载器(Ioncube Loaders)用于在Web服务器上运行时解码编码文件。…

python3异步协程爬虫,simpyder

Simpyder - Simple Python SpiderSimpyder - 轻量级协程Python爬虫特点轻量级&#xff1a;下载便利&#xff0c;依赖较少&#xff0c;使用简单。协程&#xff1a;单线程&#xff0c;通过协程实现并发。可定制&#xff1a;简单配置&#xff0c;适应各种爬取场合。快速开始下载#使…

oracle备份能备份索引吗,ORACLE会使索引失效的条件

1. 没有 WHERE 子句2. 使用 IS NULL 和 IS NOT NULLSELECT ... FROM emp WHERE comm IS NULL; comm 列的索引会失效3. WHERE 子句中使用函数如果没有使用基于函数的索引&#xff0c;那么 where 子句中对存在索引的列使用函数时&#xff0c;会使优化器忽略掉这些索引。例如&…

php如何输出关联数组的值,php - 如何从PHP关联数组中获取确切的输出 - SO中文参考 - www.soinside.com...

我试图在关联数组上使用foreach循环创建一个html表。这是关于数组的更多细节。$assoc_array array("0" > array("project_id" > "1","emp_id" > "123","emp_name" > "Max","project&…

PHP2002,php - 错误:SQLSTATE [HY000] [2002]没有这样的文件或目录 - SO中文参考 - www.soinside.com...

首先像这样更改您的连接&#xff1a;$host localhost;$db nairobi;$user admin;$pass 123456;$charset utf8mb4; // Always set charset for database$port 3308; //Your port can be 3306 or 3307$dsn "mysql:host$host;dbname$db;port$port;charset$charset"…

linux生成文件自带时间,linux生成固定日期文件及删除一定日期前的文件

一、按照一定日期格式命名文件1、按照一定的格式输出日期&#xff1a;date "%y%m%d"格式说明&#xff1a;% : 印出 %%n : 下一行%t : 跳格%H : 小时(00-23)%I : 小时(01-12)%k : 小时(0-23)%l : 小时(1-12)%M : 分钟(00-59)%p : 显示本地 AM 或 PM%r : 直接显示时间 …

linux文件属性是什么意思,Linux文件属性

Linux是一种多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux对不同用户访问同一文件的权限做了规定。我们可以使用ls -l命令来显示一个文件的信息&#xff1a;37944FD1-FBEF-4EDC-80BA-B5276F4242A9.png我们…

linux文件赋予755权限,Linux文件和目录的777、755、644权限解释

Linux文件和目录的权限1.文件权限在linux系统中,文件或目录的权限可以分为3种:r:4 读w:2 写x:1 执行(运行)&#xff0d;&#xff1a;对应数值0数字 4 、2 和 1表示读、写、执行权限rwx 4 2 1 7 (可读写运行)rw 4 2 6 (可读写不可运行)rx 4 1 5 (可读可运行不可写)示例…

weblogic内存修改linux,weblogic10.3.5 内存修改详解

1.修改weblogic自己的内存&#xff1a;位置&#xff1a;Oracle/Middleware/wlserver_10.3/common/bin下的文件commEnv.sh&#xff1a;if [ "$PRODUCTION_MODE" "true" ]; thencase $JAVA_VENDOR inOracle)JAVA_VM-jrockitMEM_ARGS"-Xms128m -Xmx256m…

linux下删除已经创建的数据库,MongoDB 数据库的创建和删除

MongoDB 创建数据库语法MongoDB 创建数据库的语法格式如下&#xff1a;useDATABASE_NAME如果数据库不存在&#xff0c;则创建数据库&#xff0c;否则切换到指定数据库。实例以下实例我们创建了数据库 runoob:>userunoobswitched to db runoob>dbrunoob>如果你想查看所…

linux图形界面为英文,Linux下“英文控制台 中文图形界面”的实现

以Slackware12.2为例&#xff1a;首先安装好slackware12.2&#xff0c;装好后敲入startx&#xff0c;进入图形界面。第一次登录图形界面时会提示你是哪国人(查下户口先^_^)&#xff0c;坚定的选择中国&#xff0c;默认语言就是简体中文&#xff0c;确定后就进入了全中文图形界面…

linux系统中文件的特性,linux文件系统特性

1. 文件系统特性(索引式文件系统)文件系统格式化后block group的组成部分&#xff1a;super block&#xff1a;记录文件系统整体信息&#xff0c;inode和data block的总量&#xff0c;使用量&#xff0c;剩余量&#xff0c;以及文件系统格式与相关信息&#xff0c;一般大小为10…