获取完数
来源:互联网 发布:caffe教程 编辑:程序博客网 时间:2024/06/08 13:41
完数定义是:完数是该数的所有分解的因数(除了自己本身外)之和与该数相等。6 = 1 + 2 + 3; 28 = 1 + 2 + 4 + 7 + 14.
改方式是先获取一个数所有约数(除自己本身外)。
//获取约数function getPerfectNum($num){ $tmp = [1]; $end = $num; for($i=2; $i < $end; $i++) { if($num % $i == 0) { $tmp[] = $i; $tmp[] = $num / $i; } else $end = floor($num / $i); } $tmp = array_unique($tmp); sort($tmp); return $tmp;}
获取某个范围之外的完数。
function getPerNum($num){ $t = []; for($i = 1; $i < $num; $i++) { $sum = 0; $tmps = getPerfectNum($i); foreach($tmps as $tmp) { $sum += $tmp; } if($sum == $i) { $t[] = $i; } } return $t;}
$num = 108;$tmp = getPerNum($num);print_r($tmp);输出结果为:
Array
(
[0] => 1
[1] => 6
[2] => 28
)
0 0
- 获取完数
- 获取一个数的所有因子并判断完数
- 获取记录数
- 获取列数
- ado 获取记录数
- 获取目录文件数
- Delphi获取进程数
- 获取十六进制数
- 获取字节数
- 获取文件数
- 获取ResultSet记录数
- 获取时间毫秒数
- 获取组合数
- 获取对称数
- 获取ResultSet记录数
- 获取ResultSet记录数
- 获取bitmap字节数
- 获取字符数方法
- 把排序数组转换为高度最小的二叉搜索树
- SQLite实现数据持久化存储 购买商品
- SQLite数据库
- 插入排序:2路插入排序原理分析及源码演示
- O(n^2)排序算法1——冒泡排序,改进冒泡排序,java实现
- 获取完数
- 三十三、SpringBoot配置属性之MVC
- 用VS2008编写汇编程序
- 一个整数反转的最短代码
- MATLAB读取数据库中的数据
- Android SQLite实现数据持久化存储购买商品小案例
- Cookie/Session机制详解
- 实习篇
- TabLayout实现底部导航栏