Resoudre un algo pour moi svp

Marshall-ci Messages postés 8 Statut Membre -  
SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   -
écrire un algorithme qui saisit un chiffre compris entre 0 et 9 .
calcule et affiche les factorielles des nombres compris entre 0 et n.
n Ị =n+(n-1) Ị ; 0Ị=1

Ị=factorielle
Configuration: Windows XP
Firefox 2.0.0.12

7 réponses

  1. SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
     
    Bien le bonjour!!!

    tout d'abord, tu pourrais dire bonjour (vf la charte de politesse du site)
    ensuite, on veut bien t'aider, mais pas faire le boulot à ta place
    en plus, ton exo n'est vraiment pas sorcier... creuse un peu, montre ce que tu as fait si tu plantes, et là on t'aidera

    à+
    0
  2. Marshall-ci Messages postés 8 Statut Membre
     
    salut excuse moi pour la salutaion .offet je suis nouveau dans la matière.
    montre moi comment on commence et je pourrais traité mes autre exercice stp merci
    0
  3. SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
     
    Salut,
    bon, déjà, ta définition de la factorielle n'est pas bonne
    n! = n*((n-1)!) sachant que 0! = 1
    c'est à dire 5! = 1*2*3*4*5 = 120

    donc si je rentre un nombre n, il faut que je fasse
    n! = 1*2*3*.....*n

    essaie de faire un truc, une petite boucle for fait l'affaire
    si je t'en dis plus, je fais l'exo à ta place.
    0
  4. Marshall-ci Messages postés 8 Statut Membre
     
    Algo factorielle
    var:n entier
    debut
    afficher "entrer n"
    saisir n
    si n=0 alors
    afficher"n!=1"
    fsi
    tq n>=1
    alors n!=1*2*3*...*n
    ftq
    afficher n!=n*(n-1)!
    fin
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
     
    non, ça n'est pas bon :
    comment tu fais ton algo pour que n!=1*2*3*....*n? pour n fixe, c'est facile, mais sans connaitre n au préalable, c'est précisément ça qu'on te demande...
    en plus,
    tq n>=1
    alors n!=1*2*3*...*n
    ftq
    pour n>1, tu boucle à l'infini car tu ne modifie ni ton test de fin, ni la valeur qui te permet de faire ton test de fin
    en plus, n! étant une opération, tu ne peux pas y assigner de valeur
    au fait, n! c'est l'écriture usuelle pour factorielle de n...
    pour courronner le tout, tu semble vouloir calculer n! par n!=1*2*3*...*n, et à la fin tu en remets une couche : afficher n!=n*(n-1)!
    mon impression c'est qu'à part faire du copié-collé, tu n'as pas fait grand chose...

    tu dois choisir n entre 0 et 9
    au plus petit tu auras 0!, donc 1 au maximum, tu auras 1*2*3*4*5*6*7*8*9
    quelle est la boucle for qui, avec une écriture de ce style là te donne la solution :

    resultat = 1
    pour i allant de 1 à n
    // opération (à toi de la rajouter)
    fin pour
    0
  7. Marshall-ci Messages postés 8 Statut Membre
     
    lgo factorielle
    var:i,n entier
    debut
    afficher "entrer n"
    saisir n
    si n=0 alors
    afficher"n!=1"
    fsi
    pour i allant de 1 à n
    afficher n!=n*(n-1)!
    fin pour
    fin
    allons doucement je suis en 1ere année
    0
  8. SebManfred Messages postés 484 Date d'inscription   Statut Membre Dernière intervention   128
     
    déroule ton programme si n=5, par exemple...

    pour i de 1 à 5
    afficher 5! = (5-1)!*5
    fin pour

    d'accord, mais comment connais-tu (5-1)! ?
    en plus, tu vas afficher 5 fois la même chose
    donc ça ne marche toujours pas.

    tout ce que tu sais c'est que 0! = 1 et que pour n>=1, n! = (n-1)!*n
    il te faut donc raisonner par récurrence, c'est à dire, pour calculer n!, calculer 1! en fonction de 0!, puis 2! en fonction de 1!, puis 3! en fonction de 2!, etc... puis n! en fonction de (n-1)!, et il ne te faudra afficher que ton dernier résultat.
    0