Informatică, întrebare adresată de m1r9, 8 ani în urmă

URGENT! am nevoie cat mai repede, va rog
(recursivitate, c++)

Anexe:

Răspunsuri la întrebare

Răspuns de yangw9005
1

hai sa vedem ce face primul program:

daca x e nenul, atunci ne ducem la X-1, facem -- ce facem, si dupa afisam x-1

deci, pentru 3:

3>0, da!

  • atunci, fac ce fac pt 2
  •  2>0, da!
  • atunci fac ce fac pt 1

  • 1>0, da!
  • atunci fac ce fac pt 0

  • 0>0, nu!
  • ma intorc

  • acum ma intorc cand eram la 1.
  • acum afisez 0

  • acum ma intorc la 2
  • afisez 2-1

  • acum ma intorc la 3
  • afisez 3-1

cam asta este un concept al recursivitatii:

desfacem problema in

Ceva ce pare greu de facut + ceva ce putem face pentru un caz mai mic

practic, desfacem mereu acel "greu de facut", in mai multe bucati mici, si dupa rezolvam fiecare bucata mai mica

un exemplu pentru ideologia asta mai bun ar fi a doua functie

sa vedem ce returneaza!

return S%10+functie(S/10)

ce se intampla?

iau ultima cifra a lui S, si o insumez cu ce se intampla acolo.

acum inca o ideologie fundamentala a recursivitatii! presupunand ca daca desfac in bucati mai mici, si rezolv ce aveam de rezolvat inainte merge, hai sa bag si bucata mica la care ma aflu acum in toata gramada de bucati, ca sa dau un rezultat bun!

deci, adun ultima cifra, dupa adun ultima cifra a numarului  care nu mai are ultima cifra curenta, si tot asa.

practic pt un abc,va returna abc%10+ab%10+a%10=c+b+a

te las pe tine sa calculezi asta

a 3 a functie e FIX la fel.

daca n e divizor al lui m,

returnez 1+ce am acolo.

observ ca adun unu mereu cand n e divizor de-al lui m, dupa il scot pe n din m, si adun restul

Deeeeci, adun 1 mereu cand n e un divizor de-al lui m, practic, numar de cate ori apare n in m.

te las pe tine din nou sa calculezi asta.

daca ti-e greu, lasa un comentariu :)


andr078: Buna ! Ma poti ajuta si pe mine cu o problema la informatica , te rog fromos ??? chiar nu stiu sa o rezolv si am nevoie de ea maine. Este pe profilul meu .
m1r9: la exercitiul 1 si 2a reusit sa ma descurc, dar la al 3-lea si al 5-lea (pag urm) m-am pierdut total (@-@)
m1r9: am nevoie de ele maine, si ma incurc grav in rezolvare
yangw9005: raspunsul este 2.. mii de scuze
yangw9005: scuze, e 5
yangw9005: la 3 este 5, scuze
m1r9: este in regula, multumesc (^-^)
Alte întrebări interesante