php如何计算两个整数的最大公约数
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关php如何计算两个整数的最大公约数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:
千家信息网最后更新 2025年11月07日php如何计算两个整数的最大公约数
这篇文章将为大家详细讲解有关php如何计算两个整数的最大公约数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体如下:
= 1) { if($m % $min == 0){ if($n % $min ==0) { return $min; } } $min -= 1; } return $min;}//////////////////////////////////////////////中学数学里面的计算方法function baseSchool($m, $n) { $mp = getList($m); //小于$m的全部质数 $np = getList($n); //小于$n的全部质数 $mz = array(); //保存$m的质因数 $nz = array(); //保存$n的质因数 $mt = $m; $nt = $n; //m所有质因数 //遍历m的全部质数,当能够被m整除时,继续下一次整除,知道不能被整除再取下一个能够被m整除 //的质数,一直到所有出现的质数的乘积等于m时停止 foreach($mp as $v) { while($mt % $v == 0) { $mz[] = $v; $mt = $mt / $v; } $c = 1; foreach($mz as $v) { $c *= $v; if($c == $m){ break 2; } } } //n所有质因数 foreach($np as $v) { while($nt % $v == 0) { $nz[] = $v; $nt = $nt / $v; } $c = 1; foreach($nz as $v) { $c *= $v; if($c == $n){ break 2; } } } //公因数 $jj = array_intersect($mz, $nz); //取交集 $gys = array(); //取出在俩数中出现次数最少的因数,去除多余的。 $c = 1; //记录数字出现的次数 $p = 0; //记录上一次出现的数字 sort($jj); foreach($jj as $key => $v) { if($v == $p) { $c++; } elseif($p != 0) { $c = 1; } $p = $v; $mk = array_keys($mz, $v); $nk = array_keys($nz, $v); $k = ( count($mk) > count($nk) ) ? count($nk) : count($mk); if($c > $k) { unset($jj[$key]); } } $count = 1; foreach($jj as $value) { $count *= $value; } return $count;}//求给定大于等于2的整数的连续质数序列//埃拉托色尼筛选法function getList($num) { $a = array(); $a = array(); for($i = 2; $i <= $num; $i++) { $a[$i] = $i; } for( $i = 2; $i <= floor( sqrt($num) ); $i++ ) { if($a[$i] != 0) { $j = $i * $i; while($j <= $num) { $a[$j] = 0; $j = $j + $i; } } } $p = 0; for($i = 2; $i <= $num; $i++) { if($a[$i] != 0) { $L[$p] = $a[$i]; $p++; } } return $L;}///////////////////////////////////////test$time_start = microtime_float ();//echo ojld(60, 24); //0.0000450611 seconds//echo baseDefine(60, 24); //0.0000557899 secondsecho baseSchool(60, 24); //0.0003471375 seconds$time_end = microtime_float ();$time = $time_end - $time_start ;echo '
' . sprintf('%1.10f', $time) . 'seconds';关于"php如何计算两个整数的最大公约数"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
质数
质因数
整数
篇文章
最大
两个
公约数
最大公约数
数字
更多
次数
不错
实用
中学
中学数学
乘积
交集
公因数
内容
因数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
文件保存到数据库失败
无锡app软件开发中心
远控软件开发
服务器网站查询管理情况
腾讯视频在哪里开数据库
对网络安全的未来畅想
做软件开发笔记本配置
计算机网络技术和移动互联网
与国外服务器传送数据
中小企业服务器
数据库查找语句除法
pod中怎么装数据库
浦江软件开发制度
r自带的数据库
服务器添加
ncbi是一个数据库吗
粤商通服务器异常怎么解决
华为被国际网络安全
网络安全工程师好干吗
nas音乐服务器搭建
抖音数据库设置
网络安全员应具备什么
服务器如何防止托管数据丢失
太原新华软件开发好吗
那个软件开发票
什么是双清单数据库
2019年网络安全政策盘点
小牛网络技术有限公司
网络安全售前待遇好的公司
莱州ios软件开发公司有哪些