Exercice en langage C
Fermé
oudadmo
Messages postés
1
Date d'inscription
jeudi 16 mai 2013
Statut
Membre
Dernière intervention
17 mai 2013
-
17 mai 2013 à 01:00
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 mai 2013 à 21:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 mai 2013 à 21:29
Bonjour,
Ecrire un programme qui permet de determiner tous les nombres premiers inferieurs ou égaux à un entier naturel n
Ecrire un programme qui permet de determiner tous les nombres premiers inferieurs ou égaux à un entier naturel n
A voir également:
- Exercice en langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Langage basic gratuit - Télécharger - Édition & Programmation
2 réponses
Célien
Messages postés
5729
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
9 septembre 2021
1 993
17 mai 2013 à 05:03
17 mai 2013 à 05:03
Salut,
On ne va pas faire l'exercice à ta place, à lire : Demander de l'aide pour vos exercices sur CCM. Si tu as séché les cours, rattrapage : Cours de C.
On ne va pas faire l'exercice à ta place, à lire : Demander de l'aide pour vos exercices sur CCM. Si tu as séché les cours, rattrapage : Cours de C.
nar6du14
Messages postés
459
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
7 décembre 2013
64
23 mai 2013 à 01:55
23 mai 2013 à 01:55
l'indication c'est de diviser ce nombre par tous les nombres compris entre 2 et la moitié de ce nombre
exemple comment savoir que 24 n'est pas premier???
faut diviser 24 par tous les nombres compris entre 2 et la moitié de 24 c'est à dire entre 2 et 12 si un seul nombre pris dans cet intervalle divise 24 alors 24 n'est pas premier. C'est le cas vu que 2 est un diviseur de 24.
Bonne chance pour la suite
exemple comment savoir que 24 n'est pas premier???
faut diviser 24 par tous les nombres compris entre 2 et la moitié de 24 c'est à dire entre 2 et 12 si un seul nombre pris dans cet intervalle divise 24 alors 24 n'est pas premier. C'est le cas vu que 2 est un diviseur de 24.
Bonne chance pour la suite
evilfalcon
Messages postés
58
Date d'inscription
samedi 15 décembre 2012
Statut
Membre
Dernière intervention
10 novembre 2015
23 mai 2013 à 02:18
23 mai 2013 à 02:18
oui mais tu fais des opération pour rien!
et l'exercice et très simple en fait, à partir du moment que tu connaisses:
les tableaux,
le modulo,
et une bonne définition des nombres premiers!
je m'explique: un nombreux premier n'est divisible que par un et par lui même!(def de base)
un propriété: tous les chiffres non premier sont un combinaison des chiffres premiers!
donc voilà le raisonnement que je te conseil:
tu créés un tableau: tu supposes 1 et 2 premier (logique d'après la définition précédente)
tu les rentes dans ton tableau!
ensuite, tu prends le chiffre suivant et tu effectue un modulo avec les nombres premiers précédent (sauf 1)que tu as trouvé, si un obtiens un résultat égal à 0 il n'est par premier!
un exemple sera plus facile à comprendre:
imaginons que je suis arriver au chiffre 14.
dans mon tableau des nombres premier, j'ai 1,2,3,5,7,11,13.
le chiffre suivant 15
15|2=1
15!3=0
15 n'est pas premier!
ensuite 16:
16!2 = 0
pas premier
et je continue 17
17!2= 1
17|3=2
17|5=2
17|7=3
17|11=6
17|13=4
donc 17 est premier!
et ainsi de suite!
jusqu'à n
et l'exercice et très simple en fait, à partir du moment que tu connaisses:
les tableaux,
le modulo,
et une bonne définition des nombres premiers!
je m'explique: un nombreux premier n'est divisible que par un et par lui même!(def de base)
un propriété: tous les chiffres non premier sont un combinaison des chiffres premiers!
donc voilà le raisonnement que je te conseil:
tu créés un tableau: tu supposes 1 et 2 premier (logique d'après la définition précédente)
tu les rentes dans ton tableau!
ensuite, tu prends le chiffre suivant et tu effectue un modulo avec les nombres premiers précédent (sauf 1)que tu as trouvé, si un obtiens un résultat égal à 0 il n'est par premier!
un exemple sera plus facile à comprendre:
imaginons que je suis arriver au chiffre 14.
dans mon tableau des nombres premier, j'ai 1,2,3,5,7,11,13.
le chiffre suivant 15
15|2=1
15!3=0
15 n'est pas premier!
ensuite 16:
16!2 = 0
pas premier
et je continue 17
17!2= 1
17|3=2
17|5=2
17|7=3
17|11=6
17|13=4
donc 17 est premier!
et ainsi de suite!
jusqu'à n
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 mai 2013 à 21:29
23 mai 2013 à 21:29
@nar6du14,
l'indication c'est de diviser ce nombre par tous les nombres compris entre 2 et la moitié de ce nombre
Tu peux même aller jusque racine du nombre. Par exemple au lieu d'aller jusqu'à 12, tu peux aller jusque 5. Imagine les itérations d'économiser pour les grands nombres.
Tu peux encore économiser encore en faisant des incréments de 2.
@evilfalcon,
tu supposes 1 et 2 premier (logique d'après la définition précédente)
Que nenni ! 1 n'est pas premier. Ta définition du nombre premier est incomplète. 1 ne possède qu'un seul diviseur (1). Il n'est donc pas premier. Donc à ne pas mettre dans le tableau.
avec les nombres premiers précédent (sauf 1)
Du coup, pas besoin d'exclure le 1 avec la correction précédente.
Pour info, il s'agit du crible d'Eratosthène : https://fr.wikipedia.org/wiki/Crible_d%27%C3%89ratosth%C3%A8ne
On peut d'ailleurs plus performant encore avec le crible d'Atkin (même si plus complexe à mettre en oeuvre) :https://fr.wikipedia.org/wiki/Crible_d%27Atkin
Cdlt,
l'indication c'est de diviser ce nombre par tous les nombres compris entre 2 et la moitié de ce nombre
Tu peux même aller jusque racine du nombre. Par exemple au lieu d'aller jusqu'à 12, tu peux aller jusque 5. Imagine les itérations d'économiser pour les grands nombres.
Tu peux encore économiser encore en faisant des incréments de 2.
@evilfalcon,
tu supposes 1 et 2 premier (logique d'après la définition précédente)
Que nenni ! 1 n'est pas premier. Ta définition du nombre premier est incomplète. 1 ne possède qu'un seul diviseur (1). Il n'est donc pas premier. Donc à ne pas mettre dans le tableau.
avec les nombres premiers précédent (sauf 1)
Du coup, pas besoin d'exclure le 1 avec la correction précédente.
Pour info, il s'agit du crible d'Eratosthène : https://fr.wikipedia.org/wiki/Crible_d%27%C3%89ratosth%C3%A8ne
On peut d'ailleurs plus performant encore avec le crible d'Atkin (même si plus complexe à mettre en oeuvre) :https://fr.wikipedia.org/wiki/Crible_d%27Atkin
Cdlt,