当前位置: 首页 > 面试题库 >

在循环中查找素数的公式

左丘昊天
2023-03-14
问题内容

我需要使用for循环或while循环查找素数

我写了这个,但这是错误的

<?php
$i = 1;
while($i<5)
{
    for($j=1; $j<=$i; $j++)
    {
        if ($j != 1 && $j != $i)
        {
            echo $i . "/" . $j . "=" . $i%$j . "<br />";
            if ($i%$j != 0)
            {
                echo $i . "<br />";
            }
        }
    }
    echo "<br />";
    $i += 1;
}
?>

有没有一种方法可以将数字与数组相除以找到余数?


问题答案:

这是我发现的一个小功能:(http://icdif.com/computing/2011/09/15/check-number-prime-
number/
)似乎对我有用!

function isPrime($num) {
    //1 is not prime. See: http://en.wikipedia.org/wiki/Prime_number#Primality_of_one
    if($num == 1)
        return false;

    //2 is prime (the only even number that is prime)
    if($num == 2)
        return true;

    /**
     * if the number is divisible by two, then it's not prime and it's no longer
     * needed to check other even numbers
     */
    if($num % 2 == 0) {
        return false;
    }

    /**
     * Checks the odd numbers. If any of them is a factor, then it returns false.
     * The sqrt can be an aproximation, hence just for the sake of
     * security, one rounds it to the next highest integer value.
     */
    $ceil = ceil(sqrt($num));
    for($i = 3; $i <= $ceil; $i = $i + 2) {
        if($num % $i == 0)
            return false;
    }

    return true;
}


 类似资料:
  • 如何检测单个链表是否有循环??如果有循环,则如何找到循环的起始点,即循环开始的节点。

  • 到目前为止,这就是我的答案,但从逻辑上讲,我的答案对于findNextCity方法似乎是错误的。此外,我甚至不知道如何处理问题的第二部分(以下)。 我应该遍历cityQueue中的每个元素,使用下一种方法计算的欧几里德距离(distbetweencies),确定哪个元素最接近当前城市(从第一个参数)。我必须忽略已经标记在堆栈中或堆栈中的城市以及当前城市本身(否则,城市将始终是离自身最近的城市!)。

  • 问题内容: 我正在使用一些参数编写SQL查询创建器。在Java中,仅通过检查当前数组位置和数组长度,就可以很容易地从for循环中检测数组的最后一个元素。 在PHP中,它们具有用于访问数组的非整数索引。因此,您必须使用foreach循环遍历数组。当您需要做出一些决定时(在我的情况下,在构建查询时附加或/和参数),这将成为问题。 我确信必须有一些标准的方法来做到这一点。 您如何在PHP中解决此问题?

  • 问题内容: 我不是SQL专家,但是如果有人可以帮助我。 我使用递归CTE来获取如下值。 Child1 –> Parent 1 Parent1 –> Parent 2 Parent2 –> NULL 如果数据填充出错,那么我将遇到以下类似情况,因此CTE可能会进入无限递归循环并给出最大递归错误。由于数据量很大,因此我无法手动检查此 错误数据 。请让我知道是否有办法找到它。 Child1 –> Par