# PBinfo #4182 – bac_secventa – Rezolvare C++

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

## Enunț

Cerința
Subprogramul secventa are un singur parametru, n, prin care primește un număr natural, în care nu există secvențe de mai mult de două cifre identice aflate pe poziții consecutive. Subprogramul înlocuiește în n fiecare secvență 22 cu câte o secvență 20 și furnizează, prin același parametru, numărul obținut. Dacă nu se înlocuiește nicio secvență, subprogramul furnizează numărul nemodificat. Scrieți definiția completă a subprogramului.

Restricții și precizări

10 ≤ n < 1.000.000.000
Numele funcției va fi secventa
Funcția va primi un singur parametru, numărul n, iar la finalul funcției n va avea valoarea cerută.

Exemplu:
Dacă n=202233228, atunci, după apel, n=202033208.

Important
Soluția propusă va conține doar definiția funcției cerute. Prezența în soluție a altor instrucțiuni poate duce la erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

## Cod sursă C++

```cpp
void secventa(int &n)
{
    int m = 0, p = 1;
    while (n > 0)
    {
        if (n % 100 == 22) n -= 2;
        m = m + n % 10 * p;
        p = p * 10;
        n /= 10;
    }
    n = m;
}
```

## Resurse

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