首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能找到一个数能被1整除的最小数是多少?

问我怎样才能找到一个数能被1整除的最小数是多少?
EN

Stack Overflow用户
提问于 2015-06-16 08:56:06
回答 2查看 788关注 0票数 0

我怎样才能找到一个数能被1整除的最小数是多少?

例如,我有一个数字33。我知道它可以被3整除的最小数字是3,但是我想知道如何使用PHP来解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2015-06-16 09:02:49

使用简单的for循环,带有'%‘运算符:

代码语言:javascript
复制
<?php
$number = 33;
for($i=2; $i <= $number; ++$i)
{
    if($number % $i == 0)
    {
        echo 'lowest number is '.$i;
        break;
    }
}
?>
票数 6
EN

Stack Overflow用户

发布于 2015-06-16 09:07:13

您可以使用如下方法:

代码语言:javascript
复制
/**
 * Return the lowest whole divisor for the passed in number, greater than one
 * @param  int       $number
 * @return int|false The lowest divisor (above one). Last resort is that the return
 *                   value will be the number passed in, or bool false if you passed
 *                   in 1
 */
function lowestWholeDivisor($number)
{
    for ($i = 2; $i <= $number; $i++) {
        $calc = $number / $i;
        // is_int() will return false if the input is a float, e.g. has a decimal point
        if (is_int($calc)) {
            return $i;
        }
    }
    return false;
}

像这样使用它:

代码语言:javascript
复制
var_dump(lowestWholeDivisor(33)); // 3
var_dump(lowestWholeDivisor(1));  // false
var_dump(lowestWholeDivisor(2));  // 2
var_dump(lowestWholeDivisor(3));  // 3
var_dump(lowestWholeDivisor(4));  // 2
var_dump(lowestWholeDivisor(5));  // 5
var_dump(lowestWholeDivisor(6));  // 2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30857257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档