/*************************************************************************************************************************************/
/* */
/* F A C T O R I S A T I O N D E S N O M B R E S E N T I E R S : */
/* */
/* */
/* Author of '$xtc/factorisation.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20220331120632). */
/* */
/*************************************************************************************************************************************/
#include <stdio.h>
#define NOMBRE \
200 \
/* Nombre de nombres premiers a calculer... */
#define STORE(n) \
{ \
ListeDesNombresPremiers[IndexDesNombresPremiers]=n; \
IndexDesNombresPremiers++; \
}
main()
{
int IndexDesNombresPremiers=0;
int ListeDesNombresPremiers[NOMBRE];
int NombreEntierCourant;
STORE(2);
NombreEntierCourant=ListeDesNombresPremiers[IndexDesNombresPremiers-1]+1;
while (IndexDesNombresPremiers <= NOMBRE)
{
int index;
int EstPremier=0;
for (index=0 ; index<=IndexDesNombresPremiers-1 ; index++)
{
if ((NombreEntierCourant % ListeDesNombresPremiers[index]) == 0)
{
EstPremier=1;
}
else
{
}
}
if (EstPremier == 0)
{
STORE(NombreEntierCourant);
}
else
{
}
NombreEntierCourant=NombreEntierCourant+2;
}
IndexDesNombresPremiers--;
for (NombreEntierCourant=2 ; NombreEntierCourant <= NOMBRE ; NombreEntierCourant++)
{
int index;
int quotient=NombreEntierCourant;
int NombreTotalFacteursPremiers=0;
int NombreFacteursPremiersDifferents=0;
printf("%d = ",NombreEntierCourant);
for (index=0 ; index <= IndexDesNombresPremiers ; index++)
{
int exposant=0;
if (quotient >= ListeDesNombresPremiers[index])
{
while ((quotient % ListeDesNombresPremiers[index]) == 0)
{
if (exposant == 0)
{
if (NombreTotalFacteursPremiers > 0)
{
printf("x");
}
else
{
}
printf("(%d",ListeDesNombresPremiers[index]);
NombreFacteursPremiersDifferents++;
}
else
{
}
quotient = quotient / ListeDesNombresPremiers[index];
NombreTotalFacteursPremiers++;
exposant++;
}
if (exposant > 0)
{
if (exposant > 1)
{
printf("^%d",exposant);
}
else
{
}
printf(")");
}
else
{
}
}
else
{
}
}
printf("\t\t#[%d,%d]\n",NombreTotalFacteursPremiers,NombreFacteursPremiersDifferents);
}
}