# PBinfo #4705 – FulgiDeNea – Rezolvare C++

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

## Enunț

Cerința
La un laborator sunt studiate aglomerările de fulgi de nea formate din câte nouă cristale de patru tipuri diferite date (notate cu 1, 2, 3 sau 4), astfel încât din fiecare tip să existe cel puțin câte un cristal. O astfel de aglomerare de fulgi a fost reprezentată printr-un număr natural, în care fiecare cifră reprezintă tipul unui cristal.

Subprogramul Fulg are un parametru n, prin care primește un număr natural (n ∊ [0, 1.000.000.000)). Subprogramul returnează valoarea 1, dacă prin n este reprezentată o aglomerare de fulgi de nea dintre cele studiate, sau 0 în caz contrar. Scrieți în C/C++ definiția completă a subprogramului. 

Exemplu
Dacă n = 112243413 subprogramul returnează 1, iar dacă n = 12314 sau n = 112253513 sau n = 112243457 sau n = 111122223, subprogramul returnează 0.

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

## Cod sursă C++

```cpp
int Fulg(int n)
{
    if (n < 100000000) return 0;
    int c, fr[5] = {0};
    while (n > 0)
    {
        c = n % 10;
        n /= 10;
        if (c == 0 || c > 4) return 0;
        fr[c]++;
    }
    for (int i = 1; i <= 4; i++)
        if (fr[i] == 0) return 0;
    return 1;
}
```

## Resurse

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