# PBinfo #280 – PalMax  – Rezolvare C++

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

## Enunț

Cerinţa
Se dau mai multe numere naturale. Determinaţi cel mai mare număr palindrom aflat printre numerele date şi de câte ori apare.

Date de intrare
Programul citește de la tastatură numere naturale, până la apariţia lui zero, care nu se ia în considerare.

Date de ieşire
Programul afișează pe ecran numerele P şi C, numărul palindrom maxim şi numărul de apariţii, separate printr-un spaţiu, sau mesajul NU EXISTA, dacă printre numerele date nu există nici un număr palindrom

Restricţii şi precizări

fiecare dintre numerele citite va avea cel mult 9 cifre;

Exemplu:
Date de intrare

78 56 5665 98789 5665 88 98789 12521 5665 0
Date de ieșire

98789 2

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
bool pal(int n) {
    int copie = n, oglinda = 0;
    while (n > 0) {
        oglinda = oglinda * 10 + n % 10;
        n = n / 10;
    } n = copie;
    if (n == oglinda)
        return true;
    return false;
}
int main() {
    int temp, maxim = -1, counter = 0;
    bool adv = false;
    while (cin >> temp && temp != 0) {
        if (pal(temp)) {
            if (temp > maxim) {
                maxim = temp;
                counter = 1;
            } else if (temp == maxim) 
                counter++;
            adv = true;
        }
    } if (adv)
        cout << maxim << " " << counter;
    else 
        cout << "NU EXISTA";
    return 0;
}
```

## Resurse

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