# PBinfo #828 – Manna-Pnueli – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Să se scrie o funcție C++ care să returneze rezultatul funcţiei Manna-Pnueli, definită mai jos: 

\( f(x) = \begin{cases}
x-1& \text{dacă } x ≥ 12,\\
f(f(x+2)) & \text{dacă } x < 12.
\end{cases} \)

Restricţii şi precizări

numele funcției va fi mp
funcția va avea un singur parametru, număr natural mai mic decât 20

Exemplu
mp(8) este 11.
mp(15) este 14.

Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
int mp(int x)
{
	if(x >= 12)
		return x - 1;
	else
		return mp( mp(x + 2) );
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/828)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/828/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-828/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
