Il existe plusieurs façons de déterminer si un nombre est un nombre premier :
(1) Utilisez des nombres compris entre 2 et nombre -1 Tous les nombres sont divisés par un nombre. Si l'un est divisible, cela signifie que le nombre est un nombre non premier ; sauf si tous les nombres ne sont pas divisibles, cela signifie que le nombre est un nombre premier ; (Étude recommandée : cours java)
(2) Utilisez tous les nombres entre 2 et nombre/2 pour diviser le nombre. Si l'un d'eux peut être divisible, cela signifie ce nombre. n'est pas un nombre premier, sauf si tous les nombres ne sont pas divisibles, le nombre est premier ;
(3) Utilisez tous les nombres entre 2 et la racine carrée du nombre pour diviser le nombre. Si un nombre peut être divisé de manière égale, cela signifie que le nombre est un nombre non premier, à moins que tous les nombres ne puissent être divisés de manière égale. cela signifie que ce nombre est un nombre premier.
L'efficacité de ces trois méthodes s'améliore progressivement. La mise en œuvre de la troisième méthode est listée ci-dessous :
import java.util.Scanner; public class Test2 { public static void main(String[] args) { int number; // 输入的数字 Scanner input = new Scanner(System.in); System.out.println("请输入数字"); number = input.nextInt(); // 输入数字 if(isPrimeNumber(number)){ System.out.println(number + "是一个素数"); } else{ System.out.println(number + "是一个非素数"); } } public static boolean isPrimeNumber(int num){ if(num < 2){ System.out.println("数据错误"); return false; } int k = (int)Math.sqrt(num); //num的平方根 int i; for(i=2; i<=k; i++){ //依次用2..k之间的数去整除num,如果没有一个数能被整除,说明num是素数 if(num % i == 0){ break; } } if(i > k){ return true; } return false; } }
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!