Bonjour,
j'ai écris un petit programme qui teste la primalité d'un entier et voilà que la méthode la plus naïve me perturbe déjà, 9 nombres que j'ignore ont été envoyés à mon programme, 8 ont passé avec succès sauf un !
À votre avis, qu'est ce qui ne marche pas ?
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //.. à l'intérieur de la méthode main System.out.println((primaire(n)) ? "Primaire" : "N'est pas primaire"); // boolean primaire(int n) { if (n < 3 || pair(n)) return false; else { int stop = (int) Math.sqrt(n); for (int i = 3; i < stop; i = i+2) if (n % i == 0) return false; return true; } } boolean pair(int n) { return ((n & 1) == 1) ? false : true; }
Partager