Maison > Article > développement back-end > Comment calculer le nombre total de nombres premiers dans une zone spécifiée en PHP ?
Dans l'article précédent "Comment calculer la somme des nombres premiers inférieurs à 100 en utilisant PHP ? ", nous vous avons présenté la méthode de calcul de la somme des nombres premiers en utilisant PHP. Je pense que vous avez une certaine compréhension du jugement des nombres premiers. Donc, si nous voulons obtenir tous les nombres premiers dans une certaine plage de nombres entiers, comment y parvenir ?
Par exemple, si nous voulons compter le nombre de tous les nombres premiers dans n, la plage de n est 1≤n≤9999,999.
Nous allons maintenant vous présenter la méthode PHP pour calculer le nombre total de nombres premiers dans une zone spécifiée :
Le code est le suivant :
<?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, '%d', $n); if ($res == 0) break; $cnt = $array [$n]; echo "小于等于n的质数的个数为: "; echo $cnt.PHP_EOL; } }
Sortie :
小于等于n的质数的个数为:168
Remarque : Les nombres premiers sont également appelés nombres premiers, et il existe des nombres infinis. Un nombre premier est défini comme un nombre naturel supérieur à 1 qui n'a d'autre facteur que 1 et lui-même.
Recommandations associées : "Tutoriel PHP"
Cet article concerne la méthode PHP de calcul du nombre total de nombres premiers dans une zone spécifiée. J'espère qu'il sera utile. aux amis qui en ont besoin !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!