Nombres premiers en language c
Déjà bonjours à tous,
Mon problème est de trouver des nombres premiers. En fait sur des entiers de 0 à 100, je dois faire un programme (en language c)qui compte le nombre de nombres premiers et qui ensuite les affiches. Mais moi je ne sais pas du tout comment trouver ces nombres, comment les calculer. On m'a vaguement parler des modulos etc. mais je n'ai jamais appris réellement à m'en servir alors si quelqu'un pouvais m'aider...
merci d'avance.
Mon problème est de trouver des nombres premiers. En fait sur des entiers de 0 à 100, je dois faire un programme (en language c)qui compte le nombre de nombres premiers et qui ensuite les affiches. Mais moi je ne sais pas du tout comment trouver ces nombres, comment les calculer. On m'a vaguement parler des modulos etc. mais je n'ai jamais appris réellement à m'en servir alors si quelqu'un pouvais m'aider...
merci d'avance.
18 réponses
Résumé de la discussion
Trouver et afficher les nombres premiers entre 0 et 100 dans un programme en C constitue le problème posé, avec une demande d’explication sur le calcul des diviseurs et l’utilisation éventuelle du modulo. Plusieurs réponses présentent des méthodes variées, du test naïf par division jusqu’à n ou jusqu’à sa racine et l’emploi éventuel du crible d’Eratosthène, tout en corrigeant la notion que 1 est premier. En cas de contrainte de performances pour des ensembles modestes, certains soulignent de tester jusqu’à la racine carrée et d’utiliser le crible lorsque l’éventail atteint des nombres plus grands que 100.
-
salut le modulos c le rest de la division d'un nombre sure un autre nombre
et pour les chiffres premiers il faux que le modulos du chiffre=0 avec deux nombres seulement donc il est divisable sur lui meme et sur 1 et voici le code en c qui définis les nombrs premiers qui sont inférieur du nombres saisis
*******************************
#include<stdio.h>
void main ()
{
int nbr;
int m=0;
printf("Veuillez entrer un nombre entier:");
scanf("%i",&nbr);
printf("Les nombres premiers sont:\n");
while(nbr>=2){
for(int i=1;i<=nbr;i++){
if(nbr%i==0){m++;}
}
if(m==2){
printf("%i\n",nbr,"Ce nombre est premier.");
}
m=0;
nbr--;
}
}
*****************************
si tu trouve le programme de simplexe stp tu me l'nvois sur mon e-mail j'en ai vraiment besoin
merci nounou-03@live.com-
Construire l’algorithme de recherche des nombres parfaits compris entre 1 et 1000 en sachant qu’un nombre parfait est égale à la somme de ses diviseurs excepté lui-même.
Debut
Pour N allant de 1 à 1000 faire
DPour
Som 0
Pour i allant de 1 à N div 2 faire
DPour
C N mod i
Si C = 0 alors Som Som+i
FPour
Si N = Som alors ecrire ( N )
FPour
FIN -
#include<stdio.h>
int main()
{
int LeNb, Div, Cpt;
printf("Entrez votre Nombre pour savoir si il est premier ou non\n");
scanf("%d", &LeNb);
Div = LeNb - 1;
if (((LeNb % 2) == 0) && (LeNb != 2)) {
printf("Nombre non premier\n");
}
else {
while (((LeNb % Div) != 0) && (Div >= 1)){
Div--;}
if ((Div == 1) && (LeNb / LeNb == 1)){
printf("Nombre premier\n");
}
else {
printf("Nombre non premier\n");}
}
}
-