作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 PHP 编写了一个程序来查找最大的质因数。我认为它非常优化,因为它加载速度非常快。但是,有一个问题:它不计算非常大的数的质因数。这是程序:
function is_even($s) {
$sk_sum = 0;
for($i = 1; $i <= $s; $i++) {
if($s % $i == 0) { $sk_sum++; }
}
if($sk_sum == 2) {
return true;
}
}
$x = 600851475143; $i = 2; //x is number
while($i <= $x) {
if($x % $i == 0) {
if(is_even($i)) {
$sk = $i; $x = $x / $i;
}
}
$i++;
}
echo $sk;
最佳答案
PHP 中最大的非溢出整数存储在常量 PHP_INT_MAX
中。
您将无法在 PHP 中使用大于此值的整数。
要查看 PHP 的所有预定义常量,只需使用:
<?php
echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
?>
PHP_INT_MAX
的值可能为 2,147,483,647
。
关于php - 最大质因数与php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868251/
我只是写了下面的代码来利用筛法找到大于 2 的某个自然数的最大质因数。 该程序构建、运行并适用于较小的测试值,但对于大于 1000000 的值只会崩溃。 我自己写了这个——并且相信它可能会非常低效——
我是一名优秀的程序员,十分优秀!