# PBinfo #3200 – neaDragulin – Rezolvare C++

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

## Enunț

Cerința
Nea Drăgulin are un număr natural n pe care îl scrie de k ori, unul după altul. Aflaţi restul împărţirii numărului astfel obţinut la 72.

Date de intrare
Programul citește de la tastatură numerele n şi k.

Date de ieșire
Programul va afișa pe ecran restul împărţirii numărului obţinut la 72.

Restricții și precizări

1 ≤ n , k ≤ 2.000.000.000

Exemplu:
Intrare

51 3
Ieșire

63
Explicație
Nea Drăgulin scrie numărul 51 de 3 ori obţinând numărul 515151. Restul împărţirii acestuia la 72 este 63.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
long long int n, k, x;
long long int nrcif = 0, scif = 0, r1, r2, rest;
int main() {
    cin >> n >> k;
    if (k == 1) rest = n % 72;
    else { x = n;
        while(x != 0) {
            nrcif++;
            scif = scif + x % 10;
            x = x / 10;
        } scif = scif * k;
        r1 = scif % 9;
        if (nrcif >= 3)
            r2 = (n % 1000) % 8;
        else if (nrcif == 2) 
            r2 = ((n % 10) * 100 + n % 100) % 8;
            else {
                if (k == 2) 
                    r2 = (11 * n) % 8;
                else 
                    r2 = (111 * n) % 8;
             }
        if (9 * r2 - 8 * r1 >= 0)
            rest = (9 * r2 - 8 * r1) % 72;
        else
            rest = (9 * r2 - 8 * r1 + 72) % 72;
    } cout << rest;
    return 0;
}
```

## Resurse

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