Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.47 KB | None | 0 0
  1. boolean estUnNombrePremier(int num) {
  2.     // On va jusqu'à la moitié car aucun nombre n'est divisible
  3.     // par un nombre plus grand que sa moitie
  4.     int moitie = num / 2;
  5.     boolean estPremier = true;
  6.     // On commence à deux car tous les nombres sont divisibles par 1
  7.     int i = 2;
  8.  
  9.     // On continue à chercher un diviseur tant que i
  10.     // est plus petit ou égale à la moitié et que num est premier
  11.     while (estPremier && i <= moitie) {
  12.       // num % i == 0 signifie que num est divisible par i
  13.       // num n'est donc pas premier puisqu'il est divisible par quelque
  14.       // chose d'autre que lui même et 1
  15.       if (num % i == 0) {
  16.         estPremier = false;
  17.  
  18.       }
  19.       i += 1;
  20.    
  21.     }
  22.  
  23.     return estPremier;
  24.   }
  25.  
  26. // Un nombre parfait est un nombre dont la somme
  27. // des diviseurs est égale à ce nombre
  28. // Par exemple 6 est divisible par 1, 2 et 3 et
  29. // 1+2+3 == 6
  30. // Donc 6 est un nombre parfait
  31. boolean estUnNombreParfait(int num) {
  32.     int moitie = num / 2;
  33.     // On commence la somme à 1 car tous les
  34.     // nombres sont divisibles par 1
  35.     int somme = 1;
  36.     int i = 2;
  37.  
  38.     while (i <= moitie && somme <= num) {
  39.       if (num % i == 0) {
  40.         somme += i;
  41.  
  42.       }
  43.       i += 1;
  44.  
  45.     }
  46.  
  47.     return somme == num;
  48. }
  49.  
  50. void tousLesNombresParfaits() {
  51.     int n = askInteger("Jusqu'à quel nombre chercher les nombres premiers");
  52.     for (int i = 0; i < n; i++) {
  53.       if (estUnNombreParfait(i)) {
  54.         println(i);
  55.  
  56.       }
  57.     }
  58.  
  59.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement