Decomposition d'un nombre en facteur premier [dev c++]

Soyez le premier à donner votre avis sur cette source.

Vue 16 857 fois - Téléchargée 580 fois

Description

Test si un nombre est premier ou pas , et si non le decompose en facteurs premiers

Source / Exemple :


#include <conio.h>
#include <stdio.h>

const int nb_premiers=111;
typedef int ent[nb_premiers];

void main() {
   int a,a1;
   int i,j,z;
   char r;
   ent tab;
   //--générateur de nbres entier---
   z=0;
   for(a=1;a<258;a++){
      j=0;
      for(i=1;i<a;i++){
         if((a%i)==0) j++;
      }
   //--------tableau----------------
      if(j==1){
         z++;
         tab[z]=a;
      }
   }
   //---------saise-----------------
   debut:
   printf("\n entrez un nombre: ");
   scanf("%d",&a);
   getch();
   a1=a;
   //-------test nbre entier--------
   j=0;
   for(i=1;i<a;i++){
      if((a%i)==0) j++;
   }
   if(j==1) printf("\n\n %d est un nombre premier",a);
   else{
      printf("\n %d n'est pas un nombre premier\n",a);
   //-------factorisation par i-----
      for(i=1;i<=(nb_premiers/2);i++){
         tab[i+55]=0;
         while((a%tab[i])==0){
            tab[i+55]++;
            a/=tab[i];
         }
      }
   //---------édition---------------
      if(a1!=1){
         printf("\non a donc %d = ",a1);
         j=0;
         for(i=1;i<=(nb_premiers/2);i++){
            if(tab[i+55]!=0){
               j++;
               if(j>1) printf(" * ");
               if(tab[i+55]!=1) printf("%d^%d",tab[i],tab[i+55]);
               else printf("%d",tab[i]);
            }
         }
      if(a!=1)printf(" * %d",a);
      }
   }
   //-------recommencer-------------
   printf("\n\nrecommencer? (o/n)");
   scanf("%c",&r);
   if((r=='o')||(r=='O')) goto debut;
}

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_aranor Messages postés 6 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 29 octobre 2004
5 mai 2003 à 12:00
N'est-ce pas plutôt "Décomposition en facteur de nombres premiers" ??? ;-)
@++
cs_kuru Messages postés 1 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 2 mai 2003
2 mai 2003 à 15:43
merde c vrai lol escusez moi :-(
lolo252 Messages postés 6 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 13 juin 2003
2 mai 2003 à 10:30
Juste une petite remarque sur le titre et le commentaire : un nombre premier n'est pas decomposable, vu qu'il est premier ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.