Decomposition

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 107 fois - Téléchargée 35 fois

Contenu du snippet

permet d'obtenir la decomposition d'un entier en produit de facteurs premiers

Source / Exemple :


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

/*dire si un nombre est premier ou pas*/
int Estpremier(int n)
{
    int i,r,a;
    if (n==1) a=0;
       else
           if (n==2) a=1;
              else
              {
               i=2; r=n%i;
               while(r!=0 && i*i<n)
               {
                i++; r=n%i;
               }
               if (r==0) a=0;
                  else a=1;
               }
    return a;
}/*fin Est_premier*/

int decomposition(int n)
{
 int i,value,j;
 for(i=2;i<=n;i++)
  {
   j=0;
   value=Estpremier(i);
 /*on verifie si les entiers inferieurs à n sont premiers*/
   if(value==1)
    {
     while(n%i==0)
     {
      n=n/i; j++ ;
     }
 /*Quand c'est le cas on voit le nombre de fois ou n est divisible par le nbr premier*/
      if(j!=0)
       {
        if(j==1) printf("%d",i);
         else printf("%d^%d",i,j);
           if(n!=1) printf("*");
       }
     }
  }
 printf("\n");
}
int main(void)
{
  int n; char choix;
  do
  {
  printf("entrez l'entier n\n");
  scanf("%d",&n);
  printf("la decomposition de %d en facteurs premiers est:\n",n);
  decomposition(n);
  do
  {
    printf("voulez-vous recommencer?");
    printf("\ntapez o si oui et n si non:");
    scanf(" %c",&choix);  
  }
  while(choix!='o' && choix!='n' && choix!='N' && choix!='O');
  }
 while(choix!='n'&& choix!='N');
      system("PAUSE");
      return 0;
}

Conclusion :


jusqu'ici il fonctionne correctement sous Dev C++, pour ce qui est des autres compilateurs je sais pas trop mais conseil d'enlever les 2 dernieres lignes si vous n'etes pas sous DEV C++. s'il ya d'autres bugs bien vouloir m'ecrire, merci

A voir également

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.