Bonjour
j'ai une autre question à propos de unreachable code detected.
Ce code marche parfaitement (sans le break) pour trouver les nombres premiers jusqu'à 9: il donne 2,3,5,7.
Maintenant, je veux mettre un break pour que le code sorte de la boucle dès qu'il a trouvé que num % div =0. Le 9 va être divisé par 2, 3 et 4: 9%3 =0, donc je veux sortir de la boucle qui n'apporte plus rien.
Code : 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
18
19
20
21 static void Main() { int laa = 9; bool b; if (laa != 0 && laa != 1) { for (int num = 2; num <= laa; num++) { b = true; for (int div = 2; div <= num / 2; div++) { if (num % div == 0) b = false; //break; } if (b == true) Console.WriteLine(num + " "); } } }
Si je mets le break, le code donne: 2,3,5,7 et 9 et j'ai un avertissement comme quoi 'div' est 'unreachable code detected' à la ligne div++.
Deux questions:
1) pourquoi donne-t-il le 9?
2) comment arrêter la boucle dès que num % div = 0?
Merci
R.
Partager