begin process at 2013 06 19 21:48:09
  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 Zip LE PROBLÈME DU VOYAGEUR DE COMMERCE EN LANGAGE C (ANT SYSTEM... par casseur
Source avec Zip VECTEUR CREUX par stroke599
Source avec Zip Source avec une capture FONCTIONS EN ACTION par ringo73
CALCUL DE PI AVEC LA BIBLIOTHÈQUE GMP par lann
Source avec Zip Source avec une capture MAGEO3D, POUR GÉRER LES POINTS ET LES VECTEURS DE L'ESPACE R... par pgl10

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


Sondage...

Comparez les prix

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 1,669 sec (3)

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