# PBinfo #944 – rest – Rezolvare C++

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

## Enunț

Cerința
Se dă n un număr natural. Aflați restul maxim care se poate obține dacă împărțim numărul n la orice număr care se obține prin eliminarea unei cifre ale sale. 

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran numărul r, reprezentând restul maxim cerut.

Restricții și precizări

10 ≤ n ≤ 2.000.000.000
dacă prin eliminarea unei cifre se obține numărul 0, atunci n nu se va împărți la 0.

Exemplu:
Intrare

217
Ieșire

13
Explicație
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.

## Cod sursă C++

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

## Resurse

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