Nombre Premier

Premièrement il faut avoir un environnement Java pour pouvoir exécuter ce code.

Pour télécharger le dernier JDK de Java aller voir cette page:

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u11-oth-JPR@CDS-CDS_Developer

Il faut choisir la “platform” windows et le language “multi-language”. On doit absolument cocher “I agree…” pour pouvoir cliquer sur “continue”.

Il s’agit de cliquer sur “jdk-6u11-windows-i586-p.exe” pour commencer le téléchargement. Rappelez-vous où cette application se télécharge pour pouvoir l’exécuter aussitôt que le téléchargement est complété.

Code Java pour savoir s’il s’agit d’un nombre premier:

import java.io.*;

class NombrePremier {
   public static void main(String argv[]) {
      int depart = 0, limite = 0;
      boolean premier = false;

      try {
         System.out.println("Nous trouverons les nombres premiers entre:");
         System.out.println("Nombre de départ: ");
         BufferedReader lire = new BufferedReader(new InputStreamReader(System.in));
         String s1 = lire.readLine();
         depart = Integer.valueOf(s1).intValue();
         System.out.println("Nombre maximum: ");
         s1 = lire.readLine();
         limite = Integer.valueOf(s1).intValue();
         System.out.println("Nous allons chercher les nombres premiers entre " + depart + " et " + limite );

         premier = true;
         for ( int i = depart; i <= limite; i++ ) {
            for ( int j = 2; j < i; j++ ) {
               if ( i % j == 0 ) premier = false;
            }
            if ( premier ) System.out.println("Nombre premier: " + i );
            premier = true;
         }
      } catch ( Exception e ) {
         e.printStackTrace();
      }
   } // end main()
} // end class NombrePremier

En Python le code source serait:

import sys
import math

nbend = 1000

print "Debuter la recherche a partir de quel nombre?"
nbstart = sys.stdin.readline()
print "Terminer la recherche a quel nombre?"
nbend = sys.stdin.readline()

for i in range(int(nbstart), int(nbend) + 1):
    premier = 1
    for j in range(2, i-1):
    #for j in range(2, math.sqrt(i)):
        if i % j == 0:
            premier = 0
    if premier == 1:
        print i,"est un nombre premier"

sys.exit(0)