D´accord:
- include <stdio.h>
- include <stdlib.h>
- include <math.h>
int paire ( double nombre )
{
if ( fmod ( nombre , 2 ) == 0 ) return 1;
else return 0;
}
int divisible ( double nombre , double diviseur )
{
if ( fmod ( nombre , diviseur ) == 0 ) return 1;
else return 0;
}
int racine_atteinte ( double racine , double nombre )
{
if ( nombre > racine ) return 1;
else return 0;
}
int premieree( double nombre , double courant , double racine )
{
if ( racine_atteinte( racine , courant ) )
{
return 0;
}
else if ( divisible ( nombre , courant ) )
{
return courant;
}
else return premieree( nombre , courant + 2 , racine );
}
double nonpremier( double nombre )
{
if ( paire ( nombre ) )
{
return 2;
}
else
{
double racine = sqrt ( nombre );
return premieree ( nombre , 3 , racine );
}
}
int main(int n, char *params[])
{
/*
double i;
for ( i = 3 ; i < 100 ; i++ )
{
printf ("------------------\n%lf\n",i);
premier( i );
}
*/
double p;
double nombre = atof ( params[1] );
printf( "%f\n" , nombre );
p = nonpremier ( nombre );
if ( ! p ) printf ( "Premier\n" );
else printf ("Non premier\nDivisible par %f\n" , p);
return 0;
}