fonction int premier (long n)
Forum Programmation : fonction int premier (long n)
bonjour tout le monde,svp je cherche une fonction int premier(long n) qui associe à n la valeur 1 si n est premier, sinon elle retourne la valeur 0.c est ma premiere fonction en langage c et je suis bloquée.merci d avance pour votre aide.
Tu boucles avec i allant de 2 à n
et si n % i (le modulo) est == 0 alors ce n'est pas premier tu retourne 0.
à la fin du retourne 1.
Tu peux optimiser en le testant que les valeurs impaires. Et de façon générale, en faisant un tableau de nombre premier que tu remets à jour à chaque appel et tu ne testes pas les valeurs intermédiaires.
Deja, on peut faire de deux a racine de n seulement (logique).
oui c est bien j arrive à faire la fonction et la compilation et bonne mais le probleme c est que elle ne s excute pas sachant que je travaille sur Dev c++
là il faut que tu montre ton code si tu veux espérer de l'aide ;-)
met un
Code :
|
à la fin, avant le } du main et le
Code :
|
#include<stdio.h>
#include<conio.h>
int premier(long n){
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
printf("votre nombre n'est pas premier" );
else
printf("votre nombre est premier" );
getch();
}
}
int main()
{
long x;
int i,s=0;
printf("entrer votre nombre:" );
scanf("%d",&x);
for(i=2;i<x;i++)
{s=s+premier(x);}
getch();
}
alors là ce programme s execute mais je n obtient pas le resultat que je veux
On doit le coder pour toi ?
Sinon, il suffit de remarquer que dans le cas ou le nombre est pas premier, il ne faut pas continuer la boucle for. C'est à toi de le coder.
A quel résultat t'attends-tu ?
Parce qu'un programme fait toujours ce qui est écrit ;-)
ok j ai pu la faire à l aide d' un break si n est premier,merci pour votre aide :-)
Il y a 2536 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

CRicky