php分解质因数,用PHP可以实现将一个正整数分解为质因数的积么?-程序员宅基地

技术标签: php分解质因数  

//判断是否为素数 若是素数返回1,否返回0

function checkSS($num){

if($num>0 && is_numeric($num) && is_int($num)){

$flag = 1;

for($i=2;$i

if($num % $i == 0 && $num!=2){

$flag = 0;

}

}

}else{

echo "请输入非0整数";

exit;

}

return $flag;

}

//将非0整数分解为质因数之积

function splitNum($n){

if(checkSS($n)){return $n."*1";}

for($i=2;$i

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

$arr[] = $i;    //得到该数所有不重复的质因数组成的数组

}

}

$res = array_product($arr);//该数字所有质因数之积

if($res == $n){

return implode('*',$arr); //若这个结果等于原数字,则以*号拆分数组为字符串得到结果  如:30 = 2*3*5

}elseif(checkSS(abs($n/$res))){

return implode('*',$arr)."*".$n/$res;//若原数字除以结果得到的是个质数,则直接乘上这个数 如: 90 = 2*3*5 *3

}else{

return implode('*',$arr)."*".splitNum($n/$res);//否则对原数字除以结果再进行一次分解 如: 180 = 2*3*5 *{6=(2*3)};

}

}

echo splitNum(54);//2*3*3*3

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39962770/article/details/115546902

智能推荐

iphone开发之UIButton按钮的使用(二)拖线实现 多个按钮用同一个监听方法实现_uibutton长按松手监听-程序员宅基地

文章浏览阅读1.9k次。1、当为每个按钮都一一拖线实现每一个监听方法,会变得非常繁琐。未解决这个问题,就需要将多个按钮拖到同一个方法上。2、就是说此方法要处理多个按钮的监听事件,但是每个按钮的监听事件都不相同,要处理每个按钮的不同监听事件就要对各个按钮传来的参数进行区分。Type不要再选择id类型,要选择UIButton。Connection仍然选择Action表示监听方法,Event仍然选Touch Up Ins_uibutton长按松手监听

Linux 管理联网 nmcli常用命令_nmcli c-程序员宅基地

文章浏览阅读1.3k次。修改IP (modify) 停止连接 (down) 删除连接(delete) 连接生效(三种方式) 重新加载配置文件(load reload)_nmcli c

MPAndroidChart之LineChart使用_mpachart折线图设置虚线-程序员宅基地

文章浏览阅读5.5k次。1.写在前面我很纠结着标题该怎么取,因为对于这个图表框架我只使用了linechart,但是用的非常非常的多,公司很多地方都是折线图。因为项目有关折线图的功能基本都完了,所以抽出一部分东西出来记录下来。这里抽出的效果图如下: 领导具体的要求有这么几点: 1. 第一个折线图表示实时功率,后面的月 年 总体都是发电量,并且日实时功率要充满(就是fill),其他的不用; 2. 日实时功率图表_mpachart折线图设置虚线

深入理解SELinux SEAndroid(3最后部分)_restorecon lsetfileconon read-only file system-程序员宅基地

文章浏览阅读947次。深入理解SELinux SEAndroid(结局) 二 SEAndroid源码分析有了上文的SELinux的基础知识,本节再来看看Google是如何在Android平台定制SELinux的。如前文所示,Android平台中的SELinux叫SEAndroid。先来看SEAndroid安全策略文件的编译。 1. 编译sepolicy Android平台中:_restorecon lsetfileconon read-only file system

ESP8266-Arduino网络编程实例-异步TCP服务器(基于热点模式+DNS)_esp8266 tcp server arduino-程序员宅基地

文章浏览阅读1.6k次。在本实例中,将实现如何在热点模式下实现异步TCP服务器。_esp8266 tcp server arduino

这一篇说明spring的一些基础问题问题-程序员宅基地

文章浏览阅读552次。1 spring概述它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。Spring是一个轻量级Java开发框架Spring设计目标:Spring为开发者提供一个一站式轻量级应用开发平台;但是 Spring 仍然可以和其他的框架无缝整合。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring所有的功能 的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented

随便推点

js 中文分词-程序员宅基地

文章浏览阅读2.1k次。<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>简单的中文分词</title> <meta name="author" content="" /> <meta http-equiv="X-UA-C..._js 中文分词

Layui中操作数据表格,给指定单元格添加事件_layui 表格单元格按钮绑定事件-程序员宅基地

文章浏览阅读8k次,点赞5次,收藏16次。最近入坑Layui这个为服务端程序员量身定做的前端框架。为什么不用vue结合各种流行前端框架Element、iView啊什么,后台大哥们不会啊!!!只好我来迁就他们呢,还得一点一点儿的学起来。当我们在操作数据表格的时候,并不是一定要点击表格工具栏中的“查看”按钮,来进行查看,而是点击某一特定的列来进行某些数据查看。例如下图这样。这就涉及到表格的自定义事件。代码如下:<table ..._layui 表格单元格按钮绑定事件

unity入门教程(非常详细)从零基础入门到精通,看完这一篇就够了_unity从零开始-程序员宅基地

文章浏览阅读297次。在新建完成后会在创建的目录下生成相关工程文件如图所示:Assets: 资源(场景脚本模型)Library: 库(系统)Logs: 日志Packages: 导入的包ProjectSettings: 工程设置Temp: 临时文件(文件过大可以删除部分缓存)UserSettings: 设置。_unity从零开始

A Bug's Life-HDU-1829_a bug's life hdu - 1829-程序员宅基地

文章浏览阅读823次。题目地址:hdu-1829 本题是考察并查集的运用。 **题意:有k对编号为1~n的果蝇交配了, 给你数据后让你判断是否有同性恋。**Problem Description Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that th_a bug's life hdu - 1829

论文阅读 (33): Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Net_deep convolution generative adversarial networks论文-程序员宅基地

文章浏览阅读3.8k次,点赞6次,收藏13次。论文题目:Unsupervised representation learning with deep convolutional generative adversarial networks  Torch地址:https://github.com/pytorch/examples/tree/master/dcgan  摘要:近年来,基于卷积神经网络 (CNN) 的监督学习广泛应用于计算机视觉领域。然,无监督CNN却鲜有关注。本文希冀在无监督学习和有监督学习之间建立CNN桥梁,并引入深度卷积生成对抗_deep convolution generative adversarial networks论文地址