# PBinfo #2407 – odaoni – Rezolvare C++

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

## Enunț

Dorel
a primit de ziua lui un tricou pe care era scris numărul n. 

Cerința
Aflaţi câţi divizori ai lui n au mulţimea cifrelor din scrierea lor inclusă în mulţimea cifrelor din scrierea lui n.

Date de intrare
Fișierul de intrare odaoni.in conține pe prima linie numărul n.

Date de ieșire
Fișierul de ieșire odaoni.out va conține pe prima linie numărul divizorilor lui n care au mulţimea cifrelor din scrierea lor inclusă în mulţimea cifrelor din scrierea lui n..

Restricții și precizări

1 ≤ n ≤ 1.000.000.000

Exemplu:
odaoni.in

12
odaoni.out

3
Explicație
Numărul 12 are divizorii 1,2,3,4,6,12 iar dintre aceştia numai 1,2,12 au mulţimea cifrelor inclusă în mulţimea cifrelor lui 12.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("odaoni.in");
ofstream out("odaoni.out");
#define cin in
#define cout out
long long int counter = 0, i;
long long int n, cifn[11] = {0};
int main() {
    cin >> n;
    long long int copie = n;
    while (copie != 0) {
        cifn[copie % 10] = 1;
        copie = copie / 10;
    }
    for (i = 1; i * i < n; i++)
        if (n % i == 0) {
            copie = i;
            bool adv = true;
            while (copie != 0) {
                if (cifn[copie % 10] == 0)
                    adv = false;
                copie = copie / 10;
            } if (adv) 
                counter++;
            copie = n / i;
            adv = true;
            while (copie != 0) {
                if (cifn[copie % 10] == 0)
                    adv = false;
                copie = copie / 10;
            } if (adv) 
                counter++;
        } if (i * i == n) {
            copie = i;
            bool adv = true;
            while (copie != 0) {
                if (cifn[copie % 10] == 0)
                    adv = false;
                copie = copie / 10;
            } if (adv) 
                counter++;
        }
    cout << counter;
    return 0;
}
```

## Resurse

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