# PBinfo #4717 – vesel3 – Rezolvare C++

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

## Enunț

Cerința
Un număr se numește vesel dacă este format numai din cifre pare. Un număr se numește trist dacă este format numai din cifre impare. Un număr se numește indiferent dacă nu este nici vesel, nici trist.
Dat un număr n indiferent, să se verifice câte cifre trebuie modificate pentru a deveni vesel sau trist.
Dacă cerința este 1 se va afișa numărul de cifre ce trebuie modificate pentru a deveni vesel, iar dacă cerința este 2 se va afișa numărul de cifre ce trebuie modificate pentru a deveni trist.

Date de intrare
Programul citește de la tastatură numărul c, iar apoi numărul n .

Date de ieșire
Programul va afișa pe ecran numărul nr în funcție de cerința specificată. Dacă c = 1, atunci veți afișa numărul de cifre ce trebuie modificate pentru ca n să devină vesel, iar dacă c = 2, atunci veți afișa numărul de cifre ce trebuie modificate pentru ca n să devină trist.

Restricții și precizări

1 ≤ n ≤ 1 000 000 000
1 ≤ c ≤ 2

Exemplul 1:
Intrare

1 123
Ieșire

2
Explicație
Cele doua cifre impare se modifică.

Exemplul 2:
Intrare

2 123
Ieșire

1
Explicație
Se modifică cifra pară.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
    int c, np=0, ni=0,cer;
    unsigned long long n;
    cin>>cer>>n;
    if(n==0) np++;
    while(n)
    {
      c=n%10;
      if(n%2==1) ni++;
      else np++;
      n/=10;
    }
    if(cer==1) cout<<ni;
    else cout<<np;
    return 0;
}
```

## Resurse

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