6 réponses
Essai ceci voir,
int cmpt=0 //Cette variable va compter le nombre de diviseur du nombre n
int premier(long n)
{
int test=1;
for (test=1;test++;test<=n) // le for va de 1 au nombre en parametre. Je restreint deja le champ d'action. Ce n'est qu'avec les nbres de cet intervalle kon va verifier si n est premier ou pas
{
if (fmod(n,test)==0) cmpt=cmpt+1; // Pout test=1,si le reste de la division de n par test donne 0 alors cmpt s'incremente
test++;
}
// A la fin de For, on regarde le compteur cmpt, si sa valeur est different de 2 alors ce nombre n'est premier
if(cmpt==2) return 1;
else return 0;
}
J'espere que je ne me suis pas trompé quelque part
Essai et tu nous donnes le resultat, j'ai pas fait c++ depuis
int cmpt=0 //Cette variable va compter le nombre de diviseur du nombre n
int premier(long n)
{
int test=1;
for (test=1;test++;test<=n) // le for va de 1 au nombre en parametre. Je restreint deja le champ d'action. Ce n'est qu'avec les nbres de cet intervalle kon va verifier si n est premier ou pas
{
if (fmod(n,test)==0) cmpt=cmpt+1; // Pout test=1,si le reste de la division de n par test donne 0 alors cmpt s'incremente
test++;
}
// A la fin de For, on regarde le compteur cmpt, si sa valeur est different de 2 alors ce nombre n'est premier
if(cmpt==2) return 1;
else return 0;
}
J'espere que je ne me suis pas trompé quelque part
Essai et tu nous donnes le resultat, j'ai pas fait c++ depuis
je fait la meme chose mai j'arive pas au resultat
#include<stdio.h>
#include<conio.h>
int premier(int n,int compt)
{int i;
printf("n= ");
scanf("%d",&n);
i=2;
while(i<=(n/2))
{if(n%i==0)
compt=1;
else
compt=0;
}return compt;
}
#include<stdio.h>
#include<conio.h>
int premier(int n,int compt)
{int i;
printf("n= ");
scanf("%d",&n);
i=2;
while(i<=(n/2))
{if(n%i==0)
compt=1;
else
compt=0;
}return compt;
}
bool premier(int n)
{
for (int i=2;i*i<n;i++)
if(n%i==0) return false;
return true;
}
un nombre premier est un nombre qui n'est pas divisible par les autre nombres premier (sauf 1 et lui même)
Là on fait une boucle de 2 à (en gros ) la racine de n, mais on pourrai en enlever certain. Par exemple si n n'est pas divisible par 2, il ne l'est pas par 4.
{
for (int i=2;i*i<n;i++)
if(n%i==0) return false;
return true;
}
un nombre premier est un nombre qui n'est pas divisible par les autre nombres premier (sauf 1 et lui même)
Là on fait une boucle de 2 à (en gros ) la racine de n, mais on pourrai en enlever certain. Par exemple si n n'est pas divisible par 2, il ne l'est pas par 4.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
slt gaby,voici la reponce d'exo
#include<conio.h>
#include<stdlib.h>
int premier(long n)
{
int i=1,s;
do
{
s=n%i;
i++;
}
while(i<=n/2 && s!=0);
if (i>n/2)
return(1);
else
return(0);
getch();
}
void decompose(long fact[],long n,int *taille)
{
int j,a;
long i;
for (i=n,j=0;j<*taille;i++,j++)
{
if (premier(i)==1)
fact[j]=i;
else
j--;
}
for (a=0;a<*taille;a++)
{
printf ("fact[%ld]=%ld ",i,fact[i]);
}
getch();
}
main()
{
int k;
long n,*t;
printf ("entrer n");
scanf ("%d",&n);
printf ("entrer k");
scanf ("%d",&k);
t=(long*)malloc(k*sizeof(long));
decompose(t,n,&k);
getch();
}
#include<conio.h>
#include<stdlib.h>
int premier(long n)
{
int i=1,s;
do
{
s=n%i;
i++;
}
while(i<=n/2 && s!=0);
if (i>n/2)
return(1);
else
return(0);
getch();
}
void decompose(long fact[],long n,int *taille)
{
int j,a;
long i;
for (i=n,j=0;j<*taille;i++,j++)
{
if (premier(i)==1)
fact[j]=i;
else
j--;
}
for (a=0;a<*taille;a++)
{
printf ("fact[%ld]=%ld ",i,fact[i]);
}
getch();
}
main()
{
int k;
long n,*t;
printf ("entrer n");
scanf ("%d",&n);
printf ("entrer k");
scanf ("%d",&k);
t=(long*)malloc(k*sizeof(long));
decompose(t,n,&k);
getch();
}