Algorithme nombre premier
brextor
Messages postés
27
Statut
Membre
-
brextor Messages postés 27 Statut Membre -
brextor Messages postés 27 Statut Membre -
Bonjour,
Bon voila je dois faite un algorithme sur les nombre premier et la décomposition des nombre premier pour la première partie sa va mais la seconde ma prof me dit qu'il y 'a quelquechose qui gène je ne voit pas quoi :
Voile l'algo:
Variable
a(1...999) // tableau d'entier
Prem(1...999) // tableau nombre premier
f(1,,,100) // tableau décompositon
x :entier // x correspond au multiple (*2,*3 etc)
i,t,m : entier // i,t numéro pour les tableaux
N : entier // nombre a décomposer
Debut
Pour i ←2 À 1000 // première étape
a(i) ← i
Fin pour
Pour i ←2 À 1000 // seconde étape
x ← 1, t ← 1
If a(i) ≠ 0
Tant que m <= 1000
x ← x+1
m ← a(i)*x
a(m)<-0
Fin Tant que
Fin si
Fin pour
Pour i ←2 À 1000 //troisième étape
If a(i) ≠ 0
prem(t) ← a(i)
t ← t+1
Fin si
Fin pour
y ← 1 // décomposition en produit de facteur premier
Répéter
Afficher « N= avec 1<N<10 001
Saisir N
Tant que 1<N<10 001
Répeter
Pour t ←2 à N
Tant que part dec(N/prem(t))=0
f(y) ← prem(t)
y ← y+1
N ← N/ prem(t)
Fin Tant que
Fin pour
Tant que N ≠ prem(t)
Afficher « décomposition N = », f(y)
La ou sa bloquer je pense c'est que j'avais pas mit la plupart des commentaires donc elle voyait pas quoi correspondait a quoi . Cependant j'ai un doute sur le répéter ... tant que je me demande si il va y revenir a chaque fois on si il va faire tous le pour et apres répéter encore tous le pour etc
Voila merci (en clair est ce que le programme a l'air bon ou pas ^^ )
Bon voila je dois faite un algorithme sur les nombre premier et la décomposition des nombre premier pour la première partie sa va mais la seconde ma prof me dit qu'il y 'a quelquechose qui gène je ne voit pas quoi :
Voile l'algo:
Variable
a(1...999) // tableau d'entier
Prem(1...999) // tableau nombre premier
f(1,,,100) // tableau décompositon
x :entier // x correspond au multiple (*2,*3 etc)
i,t,m : entier // i,t numéro pour les tableaux
N : entier // nombre a décomposer
Debut
Pour i ←2 À 1000 // première étape
a(i) ← i
Fin pour
Pour i ←2 À 1000 // seconde étape
x ← 1, t ← 1
If a(i) ≠ 0
Tant que m <= 1000
x ← x+1
m ← a(i)*x
a(m)<-0
Fin Tant que
Fin si
Fin pour
Pour i ←2 À 1000 //troisième étape
If a(i) ≠ 0
prem(t) ← a(i)
t ← t+1
Fin si
Fin pour
y ← 1 // décomposition en produit de facteur premier
Répéter
Afficher « N= avec 1<N<10 001
Saisir N
Tant que 1<N<10 001
Répeter
Pour t ←2 à N
Tant que part dec(N/prem(t))=0
f(y) ← prem(t)
y ← y+1
N ← N/ prem(t)
Fin Tant que
Fin pour
Tant que N ≠ prem(t)
Afficher « décomposition N = », f(y)
La ou sa bloquer je pense c'est que j'avais pas mit la plupart des commentaires donc elle voyait pas quoi correspondait a quoi . Cependant j'ai un doute sur le répéter ... tant que je me demande si il va y revenir a chaque fois on si il va faire tous le pour et apres répéter encore tous le pour etc
Voila merci (en clair est ce que le programme a l'air bon ou pas ^^ )
A voir également:
- Algorithme nombre premier
- Nombre facile - Télécharger - Outils professionnels
- Nombre de jours entre deux dates excel - Guide
- Algorithme euromillion excel gratuit - Télécharger - Loisirs créatifs
- Nombre de page - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
2 réponses
juste une chose, a quoi sert ton "if(a(i) != 0" ? alors que tu rempli a avec des entiers de 2 à 1000, a(i) ne sera jamais egal a zero si ?
Le truc la c'est que il donnait une méthode qui était:
si n est premier alors tous les multiples de n ne sont pas premier donc en clair je prend A'i) dif de 0 au départ je vais tomber sur deux il est premier sa tombe bien =, la je prend tous les multiple de 2 et je les remplace par 0 dans le tableau donc apres si le nombre est = 0 on passe sinon on prend tous ses multiples et on les remplaces par 0
si n est premier alors tous les multiples de n ne sont pas premier donc en clair je prend A'i) dif de 0 au départ je vais tomber sur deux il est premier sa tombe bien =, la je prend tous les multiple de 2 et je les remplace par 0 dans le tableau donc apres si le nombre est = 0 on passe sinon on prend tous ses multiples et on les remplaces par 0