# PBinfo #3074 – numeres – Rezolvare C++

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

## Enunț

Cerința
Scrieți un program care să afișeze, în ordine crescătoare, toate numerele naturale formate din câte n cifre și care au suma cifrelor egală cu s, precum și câte astfel de numere există.

Date de intrare
Programul citește de la tastatură numerele naturale n și s, separate prin spații.

Date de ieșire
Programul va afișa numerele determinate pe prima linie a ecranului, în ordine crescătoare, separate prin câte un spațiu. Pe a doua linie va afișa numărul acestor numere. Dacă nu există astfel de numere, va afișa valoarea 0 pe prima linie a ecranului.

Restricții și precizări

1 ≤ n ≤ 7
1 ≤ s ≤ 63

Exemplu:
Intrare

2 5
Ieșire

14 23 32 41 50
5
Explicație
Pentru valorile citite: n=2 și s=5 se vor afișa numerele 14, 23, 32, 41, 50; în total sunt 5 numere.

## Cod sursă C++

```cpp
#include <iostream>
#include <math.h>
using namespace std;
int main() {
    int a, b, contor = 0;
    bool adv = false;
    cin >> a >> b;
    for (int i = pow(10, a - 1); i <= pow(10, a) + 1; i++) {
        int copie = i, S = 0;
        while (copie > 0) {
            S = S + copie % 10;
            copie = copie / 10;
        } if (S == b) {
            cout << i << " ";
            contor++;
            adv = true;
        }
    } if (adv == false) 
        cout << 0;
    else  
        cout << "\n" << contor; 
    return 0;
}
```

## Resurse

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