# PBinfo #826 – CifMinParRec – Rezolvare C++

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

## Enunț

Cerinţa
Să se scrie o funcție C++ recursivă care să returneze cea mai mică cifră pară a unui număr natural transmis ca parametru. 

Restricţii şi precizări

numele funcției va fi cifminpar
funcția va avea un parametru reprezentând numărul dat
numărul pentru care se calculează cifra minimă pară va fi mai mic decât 2.000.000.000
dacă numărul nu conţine nici o cifră pară, se va returna valoarea -1

Exemplu
cifminpar(2154) este 2.
cifminpar(1157) este -1.

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 cifminpar(int n)
{
	if(n < 10)
		if(n % 2 == 0)
			return n;
		else
			return -1;
	else
	{
		int x = cifminpar(n / 10);
		if(n % 2 == 1)
			return x;
		else
			if(x == -1)
				return n % 10;
			else
			{
				if(x < n % 10)
					return x;
				else
					return n % 10;
			}
	}
}
```

## Resurse

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