Lista de probleme 117

Filtrare

#2674 IncDecRec C++

Scrieți funcția recursivă IncDecRec care primind ca parametru un număr natural n, returnează numărul obținut din n prin scăderea cu 1 a fiecărei cifre impare și creșterea cu 1 a fiecărei cifre pare.

#3981 DivImpRec C++

Scrieți funcția recursivă DivImpRec care primind ca parametru un număr natural nenul n, returnează cel mai mare divizor impar al său.

#4089 phil

A fost odată ca niciodată un regat aflat în paragină din cauza conducătorului său trândav. Încolțit de reclamațiile localnicilor, regele decide să angajeze un servitor, numit Phil, în speranța că acesta îi va face treaba și va rezolva nemulțumirile cetățenilor legate de numărul de spații verzi și proprietăți. Cum sarcinile sunt destul de dificile pentru perseverentul Phil, acesta apelează la voi pentru ajutor. El vă roagă să scrieți un program care să citească numerele naturale n, m și matricea ce reprezintă harta și care să determine: 1) partea întreagă r a raportului dintre suprafața palatului regal și cea a casei lui Phil; 2) valoarea absolută d a diferenței dintre numărul de zone verzi și numărul de case de vacanță ale regelui.

Moș Crăciun locuiește la polul nord și pregătește cadouri pentru copiii cuminți din clasa a X-a B, ajutat de mai mulți spiriduși. Datorită încălzirii globale, gheața se topește, formându-se mai multe banchize. Spiridușii care se află pe alte banchize decât Moș Crăciun nu-l mai pot ajuta pe acesta. Pentru a putea să împacheteze cadourile, Moș Crăciun are nevoie de cel puțin k spiriduși. Ajutați-l pe Moș Crăciun să determine pe câte banchize se află cel puțin k spiriduși.

Harta polului nord seamănă cu o matrice cu n linii și m coloane în care elementele pot avea următoarele valori:

  • 0 – zonă cu apă, în care gheața s-a topit.
  • 1 – zonă cu gheață care face parte dintr-o banchiză. Două zone cu gheață fac parte din aceeași banchiză dacă se învecinează pe linie sau pe coloană.
  • 2 – zonă cu gheață în care se găsește un spiriduș.

Scrieți un program care să determine pe câte banchize se află cel puțin k spiriduși.

#4262 FiboRec C++

Scrieți funcția recursivă cu antetul

int FiboRec(int x, int y)

care primind ca parametri două numere întregi x și y, returnează 1 dacă x și y și sunt doi termeni consecutivi ai șirului Fibonacci, sau returnează 0 în caz contrar.

Un grup de alpiniști, aflați pe marginea unei stânci de pe un versant, sunt prinși în mijlocul unei furtuni. Pentru a se adăposti, ei trebuie să găsească o zonă-adăpost din versant formată din spații sigure învecinate în direcțiile N, E, S și V, suficient de mare, astfel încât în ea să se poată adăposti întregul grup. Alpiniștii au, pe căștile lor, montate camere care trimit o filmare video, în direct, la o echipă de programatori salvamontiști. Informaticienii reușesc să analizeze spațiile sigure ale versantului. Ei vă cer ajutorul pentru a reuși să-i salveze pe alpiniști.

Să se scrie o funcție C++ care să returneze rezultatul funcţiei Manna-Pnueli: \( f(x) = \begin{cases}
x-1& \text{dacă } x ≥ 12,\\
f(f(x+2)) & \text{dacă } x < 12.
\end{cases} \) .

#1863 NumarareRec C++

Scrieţi definiția completă a subprogramului recursiv numarare, care primeşte prin parametrul v un tablou unidimensional cu cel mult 100 de elemente întregi, iar prin parametrul n numărul efectiv de elemente din v.

Subprogramul returnează numărul de perechi de elemente vecine din tabloul v care sunt egale.

#4058 Ronti

La ferma din comuna Iepurești există un teren de forma dreptunghiulară în care fermierii satului au creat mai multe grădini în care au plantat morcovi. Terenul este împărțit în nxm unități. Morcovii nu sunt plantați uniform astfel încât în celule diferite pot exista numere diferite de morcovi. Iepurele Ronți vrea să știe în ce gradină să intre pentru a aduna cât mai mulți morcovi dintr-un singur raid asupra terenului.

#2730 SC C++

Scrieți funcția recursivă având următorul antet:

int SC(char s[])

Funcția primește ca parametru un șir de caractere și returnează suma tuturor cifrelor care apar în șir.