# PBinfo #1932 – pc – Rezolvare C++

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

## Enunț

Cerința
Gigel vrea un calculator nou care are prețul x. Tatăl acestuia, fiind profesor de matematica, i-a spus ca îi va cumpăra calculatorul dacă prețul x al acestuia este norocos. Un număr x este norocos dacă pătratul acestuia se poate scrie ca sumă de x numere consecutive. De exemplu, x = 7 este număr norocos deoarece, 7 * 7 = 4 + 5 + 6 + 7 + 8 + 9 + 10.

Gigel a obţinut T oferte de preț și dorește să știe pentru fiecare dintre acestea dacă prețul este corespunzătar restricției pe care i-a impus-o tatăl său.

Date de intrare
Fișierul de intrare pc.in conține pe prima linie un singur număr natural T, reprezentând numărul de oferte. Pe a doua linie se află T numere naturale x1 x2 x3 … xT separate prin câte un spaţiu, cu semnificația din enunț.

Date de ieșire
Fișierul de ieșire pc.out va conține pe prima linie, separate prin câte un spațiu, cele T răspunsuri, în ordine: 1 dacă oferta este corespunzătoare restricției impuse și 0 în caz contrar.

Restricții și precizări

x < 2.000.000.000
T < 10

Exemplu:
pc.in

3
3 4 7
pc.out

1 0 1

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("pc.in");
ofstream out("pc.out");
int n, x, i;
int main() {
    in >> n;
    if (n != 0)
        for (i = 1; i <= n; i++) {
            in >> x;
            if (x % 2 == 1)
                out << "1 ";
            else
                out << "0 ";
        }
    else out << "-1";
    return 0;
}
```

## Resurse

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