Besoin d'aide pour Algorithme/Procédure

Fermé
Josée - 8 déc. 2004 à 02:59
 zakaria - 4 oct. 2010 à 02:54
Bonsoir à tous!
J'ai un petit problème que je n'arrive pas à résoudre et c'est pour un devoir que je doit remettre demain.
Je sais que ce n'est pas directement de la programmation mais les algorithme/procedures sont une partie intégrale de la programmation c'est pourquoi j'ai cru bon de poser ma question ici.
Alors si quelqu'un s'y connais un peu j'apprecierais votre aide.

Voici l'énoncé:

si r>n, alors C(n,r) =0;
si (r=n) ou (r=0), alors C(n,r)=1;
si 0<r<n, alors C(n,r)=C(n-1,r-1)+C(n-1,r).

Je doit donc construire 2 algoritmes pour évaluer C(n,r), 1 récursif ainsi que 1 non-récursif (Itératif) qui lui, minimise le nombres d'opérations exécutés et l'espace occupé.

Et voila, merci de votre temps et passé une bonne soirée!

3 réponses

En fait je vais être plus précise
Ce que je ne comprend pas c'est surtout: si 0<r<n, alors C(n,r)=C(n-1,r-1)+C(n-1,r).
Je ne sais pas quoi faire avec le + ..quest-ce que la procédure aurais au deuxieme appel si dison "r" était 3 et "n" était 6 au départ? ..Si vous pouvez seulement répondre à cela p-e que sa m'aiderais a comprendre.

La procédure ressemblerais donc à

procedure C (n,r : naturels) naturel
si r>n alors
retournez 0
si r=n ou r=0 alors
retournez 1
sinon
retournez C ......... (c'est là que je ne sait pas quoi écrire)
fin si
fin procedure

Merci de votre temps!
0
moi aussi j'avais un probleme dans les algorithme j'ai choisé le filiére de devloppement informatique et je ne comprend pas l'algorithme à cause d un mauvais prof
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
8 déc. 2004 à 09:18
Salut

sinon retourner C(n-1,r-1)+C(n-1,r)


tu l'as dit toi même...
Récursif tu peux te rappeler plusieurs fois :o)

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Salut,

alors le truc c'est que chaque fois que t'as un C(n,r) tu testes suivant les valeurs de r et n. Donc voilà l'exemple que tu voulais pour r=3 et n=6:

C(6,3) = C(5,2) + C(5,3)
= C(4,1) + C(4,2) + C(4,2) + C(4,3)
= C(3,0) + C(3,1) + ......................
= 1 + C(2,0) + C(2,1) ............
= ......

et ainsi de suite jusqu'à ce que tu trouves la valeur ....

En espérant que ça peut t'aider un peu,

Tchussy
0