# PBinfo #970 – gen – Rezolvare C++

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

## Enunț

Pe planeta Marte, marţienii folosesc în calculele aritmetice doar cifrele 0, 1, 2 şi 3. Ei au inventat un nou sistem binar de numeraţie. Pornind de la numărul 23, ei generează numere binare speciale aplicând de un număr finit de ori regulile din tabelul de mai jos:


Cifra 2 se poate înlocui cu succesiunea:  12
Cifra 3 se poate înlocui cu succesiunea:  03
Cifra 2 se poate înlocui cu succesiunea: 01
Cifra 3 se poate înlocui cu succesiunea:  10

Marţienii au început să genereze un astfel de număr, aplicând  succesiv (în această ordine): de n ori regula 1); de k ori regula 2);  o singură dată regula 3) şi o singură dată regula 4).  Nefiind atenţi, ei nu au reuşit să ducă la capăt generarea şi au nevoie de ajutor. Ajutaţi-i să genereze numărul binar dorit.

Cerinţa
Scrieţi un program care citeşte numerele naturale nenule n şi k şi care afişează numărul binar obţinut în urma aplicării succesive a regulilor cerute de marţieni.

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

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

Restricții și precizări

0<n,k<=1000000, numere naturale

Exemplu:
Intrare

5 4
Ieșire

1111101000010

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    long long n, k;
    cin >> n >> k;
    int i = 1, j = 1;
    while (i <= n) {
        cout << "1";
        i++;
    } cout << "01";
    while (j <= k) {
        cout << "0";
        j++;
    } cout << "10";
    return 0;
}
```

## Resurse

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