CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Algo nombres premiers

EmeraldWeapon
EmeraldWeapon
Niveau 10
02 mai 2005 à 10:29:47

salut^^
qui peut m´aider a écrire un programme qui trouve les n premiers nombres premiers dans une liste ?
merci :)

dnob700
dnob700
Niveau 10
02 mai 2005 à 11:50:10

t´aurais pas oublier quelquechose ?

EmeraldWeapon
EmeraldWeapon
Niveau 10
02 mai 2005 à 18:01:45

enfin par liste ya pas vrmt de liste, le programme doit juste trouver les 10 premiers nombres premiers ( donc avec des tests si, tant que je crois)
personne veut m´aider :/

Fonction NombresPremiers(NP)
début
NP < -lire()
Si ( NP<2)
Alors écrire("ce nombre n´est pas premier")
Fin si

. .... je n´arrive pas a continuer

Ruffi
Ruffi
Niveau 9
02 mai 2005 à 18:13:23

Rapel toi la definition d´un nombre premier, et ça viendra tout seul.
Si on te donne la solution, on ne t´aidera pas, il faut que tu y arrive tout seul.

" Je ne peux que te montrer la porte. C´est a toi qu´il appartient de la franchir" ( Morpheus)

MrGoTo
MrGoTo
Niveau 8
02 mai 2005 à 18:52:22

Ya une solution nommée le crible d´eratostene qui permet de definir tous les nombres premiers jusqu´a N et ce en sqrt(N). Je te laisse chercher sur google, l´algo est super facile à mettre en place.
PS: un cribble c´est lorsque on precalcule un certain nombres de valeurs, generalement dans un tableau.

dnob700
dnob700
Niveau 10
02 mai 2005 à 18:55:04

le problème du crible c´est que tu ne sais pas jusqu´où est ce que tu doit crobler.

la méthode logique c´est de partir de 1 vers l´infini, tu regarde si le nombre en question est premier si oui tu le mets dans ta liste et t´incrémente ton compteur et tu passe au nombre suivant, sinon tu passe directement au nombre suivant.

Quand ton compteur de nombre est arrivé a 10 ( ou autre chose) alors t´as tout ceux que tu voulais.

Bon en optimisant il y a pas mal de calcul que tu peut éviter, mais l´idée n´est pas plus complexe que ça.

EmeraldWeapon
EmeraldWeapon
Niveau 10
02 mai 2005 à 18:56:40

j´y arrive pas :/
j´ai essayé je vous demande pas de le faire juste de m´aider, j´ai commencéé, c´est bon deja ?

MrGoTo
MrGoTo
Niveau 8
02 mai 2005 à 19:02:06

En fait je comprends pas du tout ton algo.

Ruffi
Ruffi
Niveau 9
02 mai 2005 à 19:18:53

http://perso.wanadoo.fr/therese.eveilleau/pages/truc_mat/pratique/textes/crible_an.htm

MrGoTo
MrGoTo
Niveau 8
02 mai 2005 à 19:19:33

Voila j´avais codé mon algo grace à cette page.

dnob700
dnob700
Niveau 10
02 mai 2005 à 19:45:16

on peut découper comem ça :

Fonction EstPremier ( entier : N)
si N est premier renvoyer VRAI
sinon renvoyer FAUX
FinFonction
On va supposer que ça tu sais le faire.

ensuite une fois que tu as cette fonction tu fait donc :

Procedure AffichePremier ( entier : N)
si N<1 fin de la procedure
sinon :

affiche 2
entier : c<-1
entier : i<-3

Tant Que c<N
Si EstPremier(i) alors
affiche i
c < - c+1
Fin Si
i < - i+3
Fin Tant Que

Fin Procedure

EmeraldWeapon
EmeraldWeapon
Niveau 10
02 mai 2005 à 19:54:01

merci les gars :)

Ruffi
Ruffi
Niveau 9
02 mai 2005 à 20:33:33

Une optimisation ( parmi tant d´autre) serait de juste tester les chiffre ( voir uniquement les chiffres premiers deja trouvé) inferieur a racine de N.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment