alex64100
Messages postés25Date d'inscriptionjeudi 7 août 2008StatutMembreDernière intervention 8 novembre 2009
-
7 août 2008 à 16:25
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
11 août 2008 à 17:00
bonjour
étudiantt par correspondance, je bataille sur un algo
je dois créer un prog en c, calculan les facteurs 1er d'un entier n a partir de l'algo suivant
entier n
entier k
début
écrire "décomposition d'un nb en facteurs 1er"
écrire "introduire un nb > 0"
lire n
tant qe n > 0 faire
début
écrire "facteurs 1er"
tant n modulo 2 = 0 faire
début
écrire "2"
n <--- n/2
fin
k <--- 3
tant qe n = 1
si (n modulo k = 0) alors k<--- k + 2
sinon
début
écrire k
k <--- n/k
fin
écrire "introduire un nb > 0"
lire n
fin
fin
c'est l'algo du sujet,
voici mon code qui ne marche pas
int main(int argc, char* argv[])
{
int n;
int k;
printf ("Décomposition d'un nombre en facteurs premiers\n");
printf ("Introduire un nombre > 0 : ");
scanf ("%ld", &n);
for (n > 0; n % 2 ==0;)
{
printf ("%ld", &n);
{
printf ("2");
n = n/2;
}
}
k = 3;
while ( n == 1)
{
if ( n % k == 0)
{
k = k + 2;
}
{
printf ("%ld", &k);
n = n/k;
}
}
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 7 août 2008 à 18:22
Tu as sûrement dû oublier quelque chose en le réécrivant : un fin au mauvais endroit, un tant que mal évalué ou autre parce que sinon, l'algorithme est faux.