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

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

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);

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

  1. 分解 python_面试官:如何用Python实现将一个整数分解成质因数?

    概述 今天主要分享一个关于分解质因数的实例,判断的逻辑稍微多了点,一起来看看吧~ 需求 将一个整数分解质因数.例如:输入90,打印出90=233*5 思路 其实根本不需要判断是否是质数,从2开始向数本 ...

  2. 编程将一个整数分解成一个质因数的连乘积,并打印在屏幕上

    //编程将一个整数分解成一个质因数的连乘积,并打印在屏幕上 //***本题的难点是既要找出质因数,又要保证其连乘为该数 //***需要两个循环,外循环与内循环 /*每个合数 都可以写成几个 质数 相乘 ...

  3. 将一个整数分解为质数的乘积

    题目:将一个整数分解为质数的乘积 (质数就是除了1和它本身之外,再也没有整数能被它整除的数.比如:2..3.5.7.11.13.17.19.23.39.31---------- 素数就是质数.质数之外 ...

  4. 将一个整数分解为质数的乘积的实现方式

    今天参加应聘笔试遇到这道题,有点意思,当时一时没有写完整,回来稍作整理了一下: public class Demo { public static void main(String[] args) { ...

  5. 分解连续自然数的和_将整数分解为连续自然数之和

    将一个正整数,拆分成连续的自然数之和,输出所有可能的情况 例如: 3 = 1+2 10 = 1+2+3+4 18 = 5+6+7 偶然见到这个问题,这里写下自己的解法. 分析: 对给定整数x以及一组满 ...

  6. 整数n分解成素数乘积c语言,用C语言和汇编语言实现将1个整数分解成几个素数的乘积...

    任何1个大于2的整数都可以分解成几个素数的乘积.将1个整数分解成几个素数的乘积是个热门话题. 经常有人问到.本文试图用C语言和32位X86汇编语言给出一个比较好的实现.希望对c语言学习者和 汇编语言学 ...

  7. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    代码: package com.liron.p1;import java.util.Scanner;/**将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.*/ public cla ...

  8. python将一个正整数分解质因数

    将一个正整数分解质因数 1. 解法一 2. 解法二 3. 解法三 4. 解法四 例如输入90,输出:90=2*3*3*5 对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: (1)如果 ...

  9. python对整数进行因数分解_浅谈将一个正整数分解质因数的逻辑思维和Python开发设计...

    今天讨论的是如何将一个正整数分解质因数.例如:输入36,打印出36=2*2*3*3. 1.首先要清晰两个概念,要知道什么是质数,如何进行分解质因数?质数是指在大于1的自然数中,除了1和它本身以外不再有 ...

最新文章

  1. Rxlifecycle(一):使用
  2. 用类氢轨道计算交换积分和Li原子2S谱项能级
  3. 【专访】会会创始人李翔昊:重新颠覆职业社交,盲目抄袭只有死路一条
  4. python正则匹配数字_python 正则匹配字母数字中的任意数字,字母
  5. GitHub Pages和每个项目绑定自定义域名(支持多个和顶级域名)
  6. 使用Visio Viewer载入数据库中的Visio图
  7. JS中数组Array的用法{转载}
  8. Python爬虫教程:requests模拟登陆github
  9. AS3利用AMFPHP与PHP进行通讯
  10. cad 打开硬件加速卡_CAD:“你的图纸缺少shx字体!”不知道该怎么办?不存在的!...
  11. 基于javaweb+jsp的会议室管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)
  12. 稿费一般多少钱一千字_写一篇1000字的稿子多少钱?一般
  13. 【SpringBoot+Mybatis】bootstrap/sematic UI与pagehelper实现分页
  14. c++20中的span
  15. 小波变换之尺度函数和小波函数
  16. Java多线程之Exchanger
  17. 用Mouse_event()来模拟鼠标操作
  18. 令人感动的电影---虎兄虎弟
  19. Java进阶:java程序设计慕课版课后答案浪潮优派
  20. 教您用几何画板画相切的圆

热门文章

  1. java 调用foxmail_java邮件收发功能实现代码
  2. python 默认配置文件_python各类配置文件写法
  3. 经典兔子问题python视频_Python练习题 007:兔子生兔子
  4. oracle 拼接多个列_ORACLE实现类似mysql的find_in_set
  5. python应声虫代码_前端大牛们都学过哪些东西?
  6. 优酷视频如何将地区设置为中国大陆
  7. 07 - java 方法里面的 return
  8. openocd目录_OpenOCD的调试
  9. 深度学习auc_机器学习集成学习与模型融合!
  10. m40型工业机器人_工业机器人选型的9大参数