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

Soyez le premier à donner votre avis sur cette source.

Vue 13 712 fois - Téléchargée 447 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

Messages postés
6
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
29 octobre 2004

N'est-ce pas plutôt "Décomposition en facteur de nombres premiers" ??? ;-)
@++
Messages postés
1
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
2 mai 2003

merde c vrai lol escusez moi :-(
Messages postés
6
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
13 juin 2003

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.