begin process at 2010 02 09 14:18:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > DETERMINATION DE NOMBRES PREMIERS

DETERMINATION DE NOMBRES PREMIERS


 Description

Ce programme vous dit si un nombre est premier ou non. Entrez ce nombre et constatez. ;-)

Source

  • #include <stdio.h>
  • void main ()
  • {
  • int A, N, i;
  • A = 0;
  • printf ("Bienvenue dans mon programme de determination de nombres premiers.\n");
  • printf ("Entrez un nombre N\n");
  • scanf ("%d", &N);
  • for (i=2;i<=N/2;i=i+1)
  • {
  • if (N%i==0)
  • {
  • A = A + 1;
  • }
  • }
  • if (A==0)
  • {
  • printf ("%d est un nombre premier.\n", N);
  • }
  • else
  • {
  • printf ("%d n'est pas un nombre premier.\n", N);
  • }
  • printf ("RMAD PROD©\n");
  • getch ();
  • }
#include <stdio.h>

void main ()
{
     int A, N, i;

     A = 0;

     printf ("Bienvenue dans mon programme de determination de nombres premiers.\n");

     printf ("Entrez un nombre N\n");
     scanf ("%d", &N);

     for (i=2;i<=N/2;i=i+1)
     {
         if (N%i==0)
         {
            A = A + 1;
         }
     }

     if (A==0)
     {
        printf ("%d est un nombre premier.\n", N);
     }
     else
     {
        printf ("%d n'est pas un nombre premier.\n", N);
     }

     printf ("RMAD PROD©\n");

     getch ();
}

 Conclusion

Euh quoi dire de plus ... usez et abusez de mes softs tout simples mais utiles aux etudiants ...

Pour me contacter RMadmann@aol.com


 Sources du même auteur

CALCUL DE LA VALEUR D'UN POLYNOME QUELCONQUE EN X QUELCONQUE
SUITE DE FIBONACCI
CALCUL DE FACTORIELLE
CALCUL DE LA MOYENNE, VARIANCE ET ECART TYPE D'UNE SERIE DE ...
CALCUL DE LA SOMME DES ENTIERS DE N1 À N2

 Sources de la même categorie

Source avec une capture OPÉRATIONS SUR MATRICES C++ par Minilogus
[DEV-C++] CALCUL DE LA RACINE CARRÉE D'UN RÉEL par Jhep
PROGRAMME QUI CALCUL LE PPCM ET LE PGCD par AnoSantino
EVALUER UNE EXPRESSION MATHÉMATIQUE par begueradj
Source avec Zip Source avec une capture COMPRESSION FICHIERS ALGORITHME HUFFMAN C par xtremejames183

Commentaires et avis

Commentaire de ymca2003 le 22/11/2003 22:17:40

Quelques optimisations possibles :
- stopper la boucle après racine carré de N : sqrt(N) au lieu de N/2
- ne pas diviser par les nombres pairs (sauf 2). Donc tester la division par 2 puis commencer la boucle à 3 et faire i+=2

bonne prog.

Commentaire de kimmelf2 le 24/11/2003 01:39:31

euh .... je vois pas beaucoup de difference avec ton source sur les nombres parfaits ... ;-D

Rmadmann007, le roi des mahs .... ;-p

Commentaire de kimmelf2 le 24/11/2003 01:58:29

ymca2003&gt; tu oublie une mega grosse optimisation : l'arret des qu'un diviseur est trouve...
-------------------
bool diviseur=FALSE;

if (N&lt;0) N=-N; // d'apres la definition, -3 est un nombre premier non ???

if (N=0)
    {
    diviseur=TRUE; // 0 n'est pas divisible par lui meme
    }
else
    {
    if (N&gt;2)
        if (N%2 != 0)
            for (i=2;i&lt;=sqrt(N) && diviseur==FALSE;i=i+1)
                if (N%i==0) diviseur=TRUE;
        else diviseur=TRUE;
    }

printf("%d %s un nombre premier
",N,diviseur ? "n'est pas" : "est");
--------------------
je pense avoir gere pas mal de cas ;-)

Commentaire de kimmelf2 le 24/11/2003 02:02:28

pardon, il faur mettre if (N&gt;3) a la place de if(N&gt;2)

ce test est la car 1 2 3 sont premiers, et 2 peux creer une erreur avec le test if (N%2) donc comme il me fallait exclure la valeur particuliere 2, autant exclure aussi 1 et 3 en les donnant tout de suite premiers ...

Commentaire de ymca2003 le 24/11/2003 14:31:04

Exact, mais j'avis juste mis ce que j'avais vu vite fait. Quand à 1 je ne sais pas s'il est considérer comme nombre premier.

Commentaire de kimmelf2 le 25/11/2003 01:38:17

ben il ne se divise que par 1 et par lui meme .... ;-D

Commentaire de ymca2003 le 25/11/2003 13:13:00

Ouais mais qu'on on réalise la décomposition d'un nombre en facteur premier, on ne met pas 1. De plus, j'ai fais une recherche sur les nombres premiers (cf mes sources) et j'ai trouvé un article qui disait que 1 n'était pas premier.

Commentaire de kimmelf2 le 28/11/2003 02:18:20

ca je pense que c'est le genre de "detail" dont on ne saura jamais ce qu'il faut comprendre vraiment ... Au choix de chacun ;-)

Commentaire de miniviet le 11/12/2003 10:00:34

Salut je débute en c++ mais je sé ke les nombres premiers sont defini a partir de 2 donc 1 n'est pas premier hihihi.

Commentaire de kimmelf2 le 12/12/2003 00:14:33

bah, c'est pas le + important...

 Ajouter un commentaire




Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales