voila ça vous donne les nombres premiers
ici pour le nombre premier se donne comme ça : npremiers(numero); ,
et si on met 1 on aura 2, 2 on aura 3,...
ça ralentit un peu le prog mais c plus pratique si on veut utiliser la fonction pour d'autres trucs
Source / Exemple :
#include <stdio.h>
#include <math.h>
int npremiers(int nombre) //NOMBRE=QUANTIEME NOMBRE PREMIER
{
int increment;
int numero=1;
int premier=1;
int action;
while (numero<=nombre)
{
premier++;
action=1;
for (increment=2 ; increment<=sqrt(premier) ; increment=increment+2)
{
/*SI LE NOMBRE EST DIVISIBLE*/
if ((premier%increment)==0)
{
action=0;
/*POUR QU'IL ARRETE DES QU'IL TROUVE
UN NOMBRE PAR LEQUEL EST DIVISIBLE*/
increment=premier;
}
/*PERMET D'ACCELERER LE CALCUL*/
else if (increment==2) increment=1;
}
if (action==1) numero++;
}
return premier;
}
void main()
{
int increment;
for (increment=1 ; increment<=20 ; increment++) printf("%d\n",npremiers(increment));
getch();
}
Conclusion :
voila !
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.