Accueil > > > CRIBLE D'ERATOSTHENE
CRIBLE D'ERATOSTHENE
Information sur la source
Description
Un petit programme de recherche des nombres premiers en utilisant la méthode d'Eratosthene. Algorithme différent de celui posté la semaine dernière. Celui de la semaine dernière cherchait les nombres premiers d'une façon classique : le nombre n'est pas premier s'il existe au moins un seul le precedant telle que le modulo est <> de zero. Par contre pour celui là, pour chaque nombre (non eliminé donc premier), il faut éliminer tous ses multiples (d'où le tableau utilisé).
Source
- /**
- * @author chabacha
- *
- */
-
- class Eratosthene {
- /*Recherche des nombres tels qu'ils ne sont divisibles
- que par eux même (ou 1!)*/
- public static void main (String args[]) {
- int i,j,borne_sup=1100,nbr_int_premier=0;
- boolean []tableau_premiers = new boolean [borne_sup-1];
-
- for (i=0;i<=tableau_premiers.length-1;i++)
- {
- tableau_premiers[i]=true;
- }
- // le chiffre 2 est premier "par defaut", d'ailleurs, tous au debut.
- for (i=2;i<=borne_sup;i++)
- {
- if (tableau_premiers[i-2]==true){ // bypass les nbres non 1ers
- j=i+1;
- while (j<=borne_sup)
- {
- if ((j%i)==0) tableau_premiers[j-2]=false;
- j++;
- }
- nbr_int_premier++;
- if (nbr_int_premier%13!=0) System.out.print(i+" ");
- else System.out.println(i+" ");
- }
- }
- /*for (i=0;i<=tableau_premiers.length-1;i++)
- {
- if (tableau_premiers[i]==true)
- {
- nbr_int_premier++;
- if (nbr_int_premier%13!=0) System.out.print(i+2+" ");
- else System.out.println(i+2+" ");
- }
- }*/
- System.out.println("");
- System.out.println("Nomre de nbr premiers : "+nbr_int_premier+" entre "+2+" et "+borne_sup);
- }
- }
/**
* @author chabacha
*
*/
class Eratosthene {
/*Recherche des nombres tels qu'ils ne sont divisibles
que par eux même (ou 1!)*/
public static void main (String args[]) {
int i,j,borne_sup=1100,nbr_int_premier=0;
boolean []tableau_premiers = new boolean [borne_sup-1];
for (i=0;i<=tableau_premiers.length-1;i++)
{
tableau_premiers[i]=true;
}
// le chiffre 2 est premier "par defaut", d'ailleurs, tous au debut.
for (i=2;i<=borne_sup;i++)
{
if (tableau_premiers[i-2]==true){ // bypass les nbres non 1ers
j=i+1;
while (j<=borne_sup)
{
if ((j%i)==0) tableau_premiers[j-2]=false;
j++;
}
nbr_int_premier++;
if (nbr_int_premier%13!=0) System.out.print(i+" ");
else System.out.println(i+" ");
}
}
/*for (i=0;i<=tableau_premiers.length-1;i++)
{
if (tableau_premiers[i]==true)
{
nbr_int_premier++;
if (nbr_int_premier%13!=0) System.out.print(i+2+" ");
else System.out.println(i+2+" ");
}
}*/
System.out.println("");
System.out.println("Nomre de nbr premiers : "+nbr_int_premier+" entre "+2+" et "+borne_sup);
}
}
Conclusion
Devinez quel est le traitement le plus long ? voilà la prochaine foi je posterai une animation (SWT, lib GC) d'un tableau de cent cases.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Nombres amis - (en Java) [ par HEVs ]
Bonjour,Je recherche un algorithme qui donne les nombres amis (ou amicaux).Si vous avez encore les exercicres de vos études... alors merci!David---Ave
Les nombres négatifs et le complément à 2 [ par Tara ]
Bonjour à tous,Je désire lire un fichier au format binaire dans lequel chaque bit a une signification précise et donc son importance. A la lecture du
changement de base pour la representation des nombres [ par fox66 ]
bonjour,je suis debutant, je dois effectué un prog en java d'un outil pedagogique pour comprendre les pbs de changement de base pour la representation
probleme nombres d'un tableau [ par Skyffer3 ]
Salut a tous ! Voila quand je fais un tableau, par exemple :x = new int[3];for (i = 0; i < 3; i++){int[i] = 0;}La boucle for remplit donc le table
SteamTokenizer - lire les nombres dans un fichier [ par guns17 ]
bonjour, voila le code (le plus important): type == StreamTokenizer.TT_NUMBER; String mot = Integer.toString(type); System.out.println(mot); dans
débutante en java [ par hananetsdi ]
<TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB
Premiers pas ... [ par Akamaru88 ]
Bonjour à tous, Jusqu'à présent je programmais uniquement en Basic sur ma calculatrice (Ti-89 titanium), je me débrouillais&n
la factorisation d'un entier par le crible algébrique [ par infcrypt ]
samicomment je peut factoriser un entier en un produit de 2 nombres premiers en utilisantla methode (le crible algébrique)..je souhaite un algori
nombres aléatoires entiers ? [ par s_lannois ]
Bonjour,Je voudrais créer un petit programme qui calculerait la somme des nombres pairs compris entre deux nombres aléatoires compris entre 0 et 100.
Lecture fichier java - texte + nombres [ par Roxxx ]
Bonjour,je dois créer un programme java dont une partie consiste à lire un fichier.txt qui contient des informations à récupérer de divers types: Stri
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : COURRE : COUR par barhoum1111
Cliquez pour lire la suite par barhoum1111 RE : COURRE : COUR par Julien39
Cliquez pour lire la suite par Julien39
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|