Toujours nbre premier.
Sabetodo
Messages postés
127
Statut
Membre
-
loupius -
loupius -
Bonjour,
salut tout le monde.un petit coup de main pour cet exo:Je dois ecrire une fonction qui renvoie le nombre premier immédiatement supérieur ou égal au nombre passé en paramètre. Elle devra etre prototypée de la manière suivante :
int my_find_prime_sup(int nb);
en fait j'ai essaie de le faire mais c'est pas evident puisqu'il ne renvoie pas le nombre premier immédiatement supérieur ou égal au nombre passé en paramètre. par ex, lorsque je lui passe 4, il me renvoie toujours 4.
salut tout le monde.un petit coup de main pour cet exo:Je dois ecrire une fonction qui renvoie le nombre premier immédiatement supérieur ou égal au nombre passé en paramètre. Elle devra etre prototypée de la manière suivante :
int my_find_prime_sup(int nb);
en fait j'ai essaie de le faire mais c'est pas evident puisqu'il ne renvoie pas le nombre premier immédiatement supérieur ou égal au nombre passé en paramètre. par ex, lorsque je lui passe 4, il me renvoie toujours 4.
int my_putchar(char c)
{
write(1, &c, 1);
}
int my_find_prime_sup(int nb)
{
int i=2,cp;
if((nb!=0) && (nb!=1))
{
do
{
i=2;
if((nb%i)==0)
{
return (nb);
}
nb++;
i++;
}
while(nb%i==0);
return(nb);
}
return(0);
}
int main ()
{
int nb=4;
printf("%d\n",my_find_prime_sup(nb));
return(0);
}
A voir également:
- Toujours nbre premier.
- Pourquoi certaines personnes apparaissent en premier sur messenger - Forum Facebook
- Décomposition facteur premier casio graph 35+e - Forum calculatrices
- Comment retrouver le premier message sur snapchat - Forum iPhone
- Indesign gabarit premier plan - Forum InDesign
- Comment écrire premier en chiffre sur clavier - Forum Gravure
1 réponse
Je vois que depuis hier tu as fait un effort: le 'main' retourne une valeur... mais pas encore le 'my_putchar'... peut-être pour demain !
Dans la boucle 'do while':
- si le nombre est pair et comme i=2 alors (nb%i)==0 est vrai le on retourne le nombre pair,
---> donc erreur de conception.
do
{
i=2;
if((nb%i)==0)
{
return (nb);
}
nb++;
i++;
}
while(nb%i==0);
Dans la boucle 'do while':
- si le nombre est pair et comme i=2 alors (nb%i)==0 est vrai le on retourne le nombre pair,
---> donc erreur de conception.
do
{
i=2;
if((nb%i)==0)
{
return (nb);
}
nb++;
i++;
}
while(nb%i==0);