Rezolvare completă PbInfo #1932 PC

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

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema PC:

#include <fstream>
using namespace std;
ifstream fin("pc.in");
ofstream fout("pc.out");
int n,x,i;
int main()
{
    // se observa ca toate numerele impare sunt norocoase si nu exista numere pare norocoase.Prin urmare solutia este simpla:verificam fiecare numar in parte si verificam
    // paritatea acestuia, in caz ca avem 0 numere(n=0) vom afisa -1
    fin>>n;
    if(n)
        for(i=1;i<=n;i++)
        {
            fin>>x;
            if(x%2==1)
                fout<<1<<;
            else
                fout<<0<<;
        }
    else
        fout<<"-1";
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1932 PC

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1932 PC de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!