# PBinfo #2662 – construirenumarcucifrelemaxime – Rezolvare C++

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

## Enunț

Cerința
Se dau n numere naturale. Se construiește o valoare selectând de la fiecare număr cifra maximă. Determinați pătratul acestei valori.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire
Programul va afișa pe ecran valoarea cerută.

Restricții și precizări

2 ≤ n ≤ 9
cele n numere citite vor fi mai mici decât 1.000.000.000.000.000.000

Exemplu:
Intrare

2
132 29
Ieșire

1521
Explicație
39 * 39 = 1521.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    long long int n, var = 0;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        int temp, maxim = 0;
        cin >> temp;
        while (temp > 0) {
            int cif = temp % 10;
            if (cif > maxim) 
                maxim = cif;
            temp = temp / 10;
        } var = var * 10 + maxim;
    } cout << var * var;
    return 0;
}
```

## Resurse

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