>  기사  >  백엔드 개발  >  PHP에서 특정 영역의 총 소수 수를 계산하는 방법은 무엇입니까?

PHP에서 특정 영역의 총 소수 수를 계산하는 방법은 무엇입니까?

藏色散人
藏色散人원래의
2019-03-13 10:52:083645검색

이전 글에서 "PHP를 사용하여 100보다 작은 소수의 합을 어떻게 계산하나요? "에서는 PHP를 사용하여 소수의 합을 계산하는 방법을 소개했습니다. 소수의 판단에 대해 어느 정도 이해하셨으리라 믿습니다. 그렇다면 특정 정수 범위의 모든 소수를 얻으려면 어떻게 해야 할까요?

PHP에서 특정 영역의 총 소수 수를 계산하는 방법은 무엇입니까?

예를 들어 n에 포함된 모든 소수의 개수를 계산하려면 n의 범위는 1≤n≤9999,999입니다.

이제 소개하겠습니다. 특정 영역의 전체 소수 수를 계산하는 PHP의 방법:

코드는 다음과 같습니다.

<?php
$max = 1000000;

// 初始化数组
for ($i = 0; $i <$max; $i ++) {
    $array [$i] = 1;
}
$array [1] = 0;

// 由于0和1不是素数,从2开始判断
for ($i = 2; $i<$max; $i ++) {
    if ($array [$i] === 0)
        continue;
    else
    {
        For ($j = $i * $i; $j<$max; $j += $i) {
            $array [$j] = 0;
        }
    }

    for ($i = 2; $i <$max; $i ++) {
        $array [$i] += $array [$i-1];
    }

    While (1) {
        $res = fscanf(STDIN, &#39;%d&#39;, $n);
        if ($res == 0) break;

        $cnt = $array [$n];
        echo "小于等于n的质数的个数为: ";
        echo $cnt.PHP_EOL;
    }
}

출력:

小于等于n的质数的个数为:168

참고: 소수는 소수라고도 합니다. 숫자도 있고, 개인도 무한합니다. 소수는 1과 자기 자신 외에 다른 약수를 가지지 않는 1보다 큰 자연수로 정의됩니다.

관련 추천: "

PHP 튜토리얼"

이 글은 특정 영역의 총 소수 개수를 계산하는 PHP의 방법에 관한 글입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

위 내용은 PHP에서 특정 영역의 총 소수 수를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.