Langage C - Nombres premiers
Résolu
Shaey
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Shaey Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Shaey Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Débutante en informatique (mais alors, vraiment, vraiment débutante), j'ai un petit problème sur un exercice. Un exercice basique et assez commun. Le but de ce dernier est de déterminer si un nombre est premier ou non.
Je sais que je peux vérifier en prenant la racine du nombre, et je trouve que ça serait plus facile. Je précise au cas où que je ne connais strictement rien au crible d'Erastosthènes (d'après ce que j'ai vu, c'est largement au dessus de mon niveau actuel).
Ce que je veux, moi, c'est diviser n par tous les nombres entre 2 et n-1, et vérifier si le reste est égal à 0 pour toutes les divisions. J'ai déjà fait le programme, mais il ne marche pas, je pense savoir pourquoi. J'ai introduit une boucle for pour faire toutes les divisions. A la suite, j'utilise la fonction if else. Si le résultat de la division est égal à 0, n n'est pas un nombre premier, dans le cas contraire, c'est un nombre premier.
Quand j'entre un nombre, ça m'affiche tout le temps que c'est un nombre premier.
Je pense que c'est parce que je ne prend pas en compte tous les résultats de la division qui ont été trouvés dans la boucle for, mais uniquement le dernier trouvé.
Je ne sais pas comment faire pour résoudre le problème.
Des idées ?
Merci d'avance.
Débutante en informatique (mais alors, vraiment, vraiment débutante), j'ai un petit problème sur un exercice. Un exercice basique et assez commun. Le but de ce dernier est de déterminer si un nombre est premier ou non.
Je sais que je peux vérifier en prenant la racine du nombre, et je trouve que ça serait plus facile. Je précise au cas où que je ne connais strictement rien au crible d'Erastosthènes (d'après ce que j'ai vu, c'est largement au dessus de mon niveau actuel).
Ce que je veux, moi, c'est diviser n par tous les nombres entre 2 et n-1, et vérifier si le reste est égal à 0 pour toutes les divisions. J'ai déjà fait le programme, mais il ne marche pas, je pense savoir pourquoi. J'ai introduit une boucle for pour faire toutes les divisions. A la suite, j'utilise la fonction if else. Si le résultat de la division est égal à 0, n n'est pas un nombre premier, dans le cas contraire, c'est un nombre premier.
Quand j'entre un nombre, ça m'affiche tout le temps que c'est un nombre premier.
Je pense que c'est parce que je ne prend pas en compte tous les résultats de la division qui ont été trouvés dans la boucle for, mais uniquement le dernier trouvé.
Je ne sais pas comment faire pour résoudre le problème.
Des idées ?
Merci d'avance.
A voir également:
- Langage C - Nombres premiers
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Nombres faciles - Télécharger - Outils professionnels
- Langage visual basic - Télécharger - Langages
Merci à toi, c'était tout simple, mais je l'avais tout simplement pas.
Encore merci, et bonne soirée.