Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

Programme sur les nombres premiers

moi, le vendredi 21 janvier 2005 à 18:15:18 
 Signaler ce message aux modérateurs

Salut tout le monde,
J'avais déjà écrit pour des renseignements sur les nombres premiers et certain m'avais aidés mais voilà j'ai toujours un problème. Je mets mon code en-dessous et si quelqu'un peut m'aider à corriger j'en serai ravi...

#include <stdio.h>
#include <stdlib.h>

int main()
{
int v[100]; /*vecteur contenant les nombres*/
int j; /*compteur des nombres du vecteur*/
int i; /*position des nombres dans le vecteur*/
int cpt=0; /*compteur des nombres premiers*/


for(i=0; i<100; i++) /*entrée des valeurs de 0 à 100 dans le
{ vecteur + affichage du vecteur*/
v[i]=i;
printf("%4d",v[i]);
}


printf("\n\n\n");


for(i=0; i<100; i++)
{

for(j=2; j<v[i]; j++)
{

if((v[i]%j)!=0) /*si un nombre "v[i]" est divisible par un
{ des nombres "j" qui le précède,*/
cpt++; /*alors il n'est pas premier*/
printf("%4d",v[i]); /*on affiche les nombres premiers*/
break;
}

}

}


printf("\n\nIl y a %d nombre(s) premier(s).",cpt); /*on affiche
le nombre de nombres premiers*/

printf("\n\n\n");
system("pause");
}

Je sais qu'il y a un problème dans ma boucle mais je ne sais pas comment le résoudre (c'est le problème du 1).
Voilà j'attends votre aide et merci d'avance.

1

blurk, le vendredi 21 janvier 2005 à 19:46:07

Salut, j'ai essayé de modifier le moins possible ton listing, mais
j'ai quand même rajouté une variable.
le problème, c'est que quand un nombre est divisible, pas la peine d'insister. Par contre, quand on a fini la boucle et qu'il ne s'est pas montré divisible (par autre chose que 1 et lui même), cela ne fait qu'un seul nombre premier. Donc son affichage doit être en dehors de la boucle de vérification (qu'un nombre est premier)


#include <stdio.h>
#include <stdlib.h>

int main()
{
int v[100]; /*vecteur contenant les nombres*/
int j; /*compteur des nombres du vecteur*/
int i; /*position des nombres dans le vecteur*/
int cpt=0; /*compteur des nombres premiers*/
bool premier; /* témoin de nombre premier */


for(i=0; i<100; i++)
/*entrée des valeurs de 0 à 100 dans le
vecteur + affichage du vecteur*/
  {
  v[i]=i;
  printf("%4d",v[i]);
  }


printf("\n\n\n");


for(i=0; i<100; i++)
{
/* je sais que c'est bizzare mais il faut bien rentrer dans la boucle*/
premier=true;
 for(j=2; j<v[i] && premier== true; j++)/*tant que premier et que pas tout vu*/
 {
  if((v[i]%j)==0) /*si un nombre "v[i]" est divisible par un
   des nombres "j" qui le précède,*/
    {
     premier=false;
    /*seule la détection d'un nombre non premier fait sortir de la     boucle*/
    }

  }

/**/
if(premier==true)
  {
     cpt++; /*alors il n'est pas premier*/
     printf("%4d",v[i]); /*on affiche les nombres premiers*/
  }
}


printf("\n\nIl y a %d nombre(s) premier(s).",cpt); /*on affiche
le nombre de nombres premiers*/


printf("\n\n\n");
system("pause");
}



cordialement
¤

Répondre à blurk

2

moi, le vendredi 21 janvier 2005 à 20:59:03

Merci pour le code je crois que j'ai enfin pigé le truc. Le type booléen c'est vraiment pas bête mais je n'y aurai jamais pensé tout seul.
A la prochaine, parce que je me connais, il va y en avoir d'autre!!!

Répondre à moi

3

PetitFurby, le lundi 24 janvier 2005 à 19:24:12
  • +1

Bonjour!

J'ai fait il y a assez longtemps un programme en rapid-q pour trouver les nombres premiers. J'ai maintenant la liste de tous les nombre premiers de 1 à 50000 (mais je peux aller + loin 8-D ). Si ca peut interresser quelqu'un...

Mon site sur la programmation en Rapid-Q : http://www.Rapid-Q.tk

Répondre à PetitFurby

7

 johan, le mercredi 28 janvier 2009 à 15:16:35
  • +1

Je souhaiterai avoir ta page et savoir comment reconnaitre rapidement quand c'est un nombre premier merci pour ton aide

Répondre à johan

4

moi, le lundi 24 janvier 2005 à 20:42:59

Je suis intéressé par ton programme alors si tu peux me dire ou le trouver j'en serais content. Le language rapid-q m'est inconnu mais si tu peux m'envoyer une page ou deux d'explications se serait bien aussi.

Merci d'avance, salut.

Répondre à moi

5

PetitFurby, le lundi 24 janvier 2005 à 21:22:44

Salut!

Pas de problème j'ai retrouvé le code source du programme .

N'étant pas un pro de la prog mes codes sources sont encore compréhensibles.. lol Sinon demande moi de l'aide par mail.

Voici le lien du code source : http://thomas.nico.free.fr/file/nbprem.bas

Pour le compiler, télécharges rapidq sur mon site : www.Rapid-Q.tk

[Ca a été programmé rapidement et c'est encore perfectible au niveau de la vitesse, m'enfin ca commence à ramer aux alentours de 20000 sur un P133 Mhz :p)]

Voici la liste des nb premiers de 1 à 50000 :
http://thomas.nico.free.fr/file/nbprem.txt

Si il y a un problème, tu peux me contacter facilement , plus d'infos sur mon site.

A+
Nico ;-)

Répondre à PetitFurby
[java] nombre premier (Résolu) Bonjour, Est-ce que l'un d'entre vous aurait un programme en Java qui affiche un message disant si l'entier n (lu sur la ligne de commande) est un nombre premier ou non? SVP Merci d'avance. www.commentcamarche.net/forum/affich-1676640-java-nombre-premier
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... www.commentcamarche.net/forum/affich-1234830-nombres-premiers-en-language-c
Vérifier si un nombre entier est un nombre premier en C Définition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la... www.commentcamarche.net/faq/sujet-7646-verifier-si-un-nombre-entier-est-un-nombre-premier-en-c
Exercice assembleur x86 nombre premierIntroduction Notions abordées dans cet exercice Enoncé Rappel Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un assembleur... www.commentcamarche.net/faq/sujet-9863-exercice-assembleur-x86-nombre-premier
Installer un programme sur Linux UbuntuInstaller un programme avec Linux Ubuntu Ce qui suit s'applique aux distributions Ubuntu récentes Premier embarquement sur Linux Linux est encore plus facile si on ne connais pas Windows En premier: 'Comment ne pas tenter d'installer un... www.commentcamarche.net/faq/sujet-15698-installer-un-programme-sur-linux-ubuntu
Rechercher le nom d'un programme rapidement sous VistaWindows vista intègre une barre de recherche rapide qui vous permettra d'économiser de précieuses secondes, pour cela il vous suffira seulement d'entrer les premières lettres du programme souhaité dans la barre de recherche : www.commentcamarche.net/faq/sujet-8316-rechercher-le-nom-d-un-programme-rapidement-sous-vista
Algorithme de decomposition en nombre premierSVP je suis unéléve de 3éme année secondaire en science informatique et je cherche quelqun qui pent m'aider à faire l'algorithme de decomposition en nombre premier par une méthode mathématique optimal comporte ca '6*(n+1)' merci de votre répance. www.commentcamarche.net/forum/affich-2951373-algorithme-de-decomposition-en-nombre-premier
[PHP] Tester si un nombre premier (Résolu)Bonjour, J’essai de programmer une page php dans la quel se trouve un formulaire (zone texte + bouton submit) pour tester si un nombre entrer dans la zone texte est premier ou non et afficher le résultat dans la même page. voici le code:... www.commentcamarche.net/forum/affich-6757381-php-tester-si-un-nombre-premier
Mettre un programme en premier plan?Bonjour, slvp aidez moi a comprendre le sens de mettre un programme en premier plan ou en arriere plan dans un programe sous l'Unix. c trés urgent slvp j'attend vos reponses. www.commentcamarche.net/forum/affich-9780992-mettre-un-programme-en-premier-plan
Télécharger Adobe Premiere ProAdobe Premiere est un programme de renom dans le montage et l'édition de vidéos. Il comprend plusieurs outils pratiques et des fonctionnalités complètes. Il permet entre autre d'éditer vidéo et audio avec une multitude d'options. Adobe Premiere... www.commentcamarche.net/telecharger/telecharger-34059321-adobe-premiere-pro
Télécharger ProgDVBLa diffusion de programme en numérique est de plus en plus en vogue depuis l'apparition de la connexion haut-débit. ProgDVB est un programme destiné à regarder des chaînes TV et à écouter des stations radio sur votre ordinateur. Il supporte le DVB-S... www.commentcamarche.net/telecharger/telecharger-34056507-progdvb
Java - Premier programmePremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main... www.commentcamarche.net/contents/java/javaprem.php3
Représentation des nombres entiers et réelsReprésentation d'un nombre dans un ordinateur On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci... www.commentcamarche.net/contents/base/representation.php3
Ecrire un programme en assembleurLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,... www.commentcamarche.net/contents/asm/source.php3