Maison >développement back-end >Problème PHP >PHP détermine si un nombre est premier

PHP détermine si un nombre est premier

(*-*)浩
(*-*)浩original
2019-09-27 15:26:483947parcourir

Nombres premiers. Un nombre naturel supérieur à 1 qui n'est pas divisible par d'autres nombres naturels sauf 1 et lui-même est appelé nombre premier, sinon il est appelé nombre composé.

PHP détermine si un nombre est premier

Si un nombre n est divisible par un nombre compris entre 2 et √n (le reste est 0), alors n peut être considéré comme un nombre premier. Vous pouvez commencer les tests de 2 à √n.

Dans le domaine général, pour un entier positif n, s'il ne peut être divisé par tous les entiers compris entre 2 et 2, n est un nombre premier. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

Les nombres premiers supérieurs ou égaux à 2 ne peuvent pas être divisés par eux-mêmes et les nombres autres que 1

Je ne le ferai pas prouvez-le spécifiquement. Par exemple :

      16 = 2*8
      16 = 4*4
      16 = 8*2
      √16 = 4

S'il est supérieur à, c'est-à-dire que c=a*b et c=b*a sont répétés

function isPrime($n) {
    if ($n <= 3) {
        return $n > 1;
    } else if ($n % 2 === 0 || $n % 3 === 0) { // 排除能被2整除的数(2x)和被3整除的数(3x)
        return false;
    } else { // 排除能被6x+1和6x+5整除的数
        for ($i = 5; $i * $i <= $n; $i += 6) {
            if ($n % $i === 0 || $n % ($i + 2) === 0) {
                return false;
            }
        }
        return true;
    }
}

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn