cet algorithmecalcule et affiche les facteurs premiers d'un entier donné et détermine leurs nombres.
Source / Exemple :
// Nom : Série 16 exercice 3
// Nom : Facteurs premiers
// Description : décompose un nombre en facteurs premiers
// Auteur : Trioy
// Date : 14.01.03
//Préconditions : Aucune
#pragma hdrstop
# include <iostream.h>
# include <conio.h>
# include <iomanip.h>
# include <math.h>
//---------------------------------------------------------------------------
// un tout grand merci a la série 11 exercice 2
void main (void)
{
//Variables
int div,nbre, nbrepremier,n;
bool flagPrem ;
cout<<"***Petit programme qui decompose un nombre en facteur premier****"<< endl <<endl ;
nbre = 0 ;
nbrepremier = 0 ;
flagPrem = true ;
do
{
cout<<" Veuillez saisir un entier a decomposer > 1 " ;
cin >>nbre;
}
while(nbre<=1);
if (nbre % 2 == 0)
{
nbrepremier = 1 ;
cout << endl <<endl <<" 2 est un facteur premier de "<< nbre <<endl <<endl;
}
for (div=3 ; div<=nbre/2 ; div=div+2)
{
if (nbre % div == 0)
{
flagPrem = true ;
if (div > 3)
{
n = 3 ;
while(n * n <= div && flagPrem)
{
if (div % n == 0)
flagPrem = false;
n = n + 2 ;
}
}
if (flagPrem)
{
nbrepremier = nbrepremier + 1 ;
cout << endl << " " << div << " est un facteur premier de " << nbre << endl<< endl;
}
}
}
cout <<endl << "le nombre "<<nbre <<" a "<<nbrepremier<<" de facteur(s) premier(s)"<< endl<< endl;
cout <<endl <<endl<< "Appuyer sur une touche pour quitter ";
getch();
}
//---------------------------------------------------------------------------
Conclusion :
heu ben ya un ptit prob c'est qu'il prend pas en compte si le nombre est son propre facteur premier...mais sinon ca devrait tourner...
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.