Pentru un număr dat x, considerăm următoarele noțiuni:
- oglinditul lui
xreprezintă numărul scris cu cifrele luixîn ordine inversă; - urma lui
xreprezintă diferența dintre numărul format cu atâtea cifre de9câte cifre arexși numărulx; - numărul
xeste curat dacă oglinditul său este egal cu urma sa. De exemplu,27este un număr curat.
Cerința
Se dau cel mult 1000 numere naturale mai mici decât 100.000.000. Să se stabilească despre fiecare număr dacă este sau nu curat.
Date de intrare
Fișierul de intrare nrcurat.in conține pe prima linie cel mult 1000 numere naturale mai mici decât 100.000.000, separate prin spații.
Date de ieșire
Fișierul de ieșire nrcurat.out va conține pe prima linie pentru fiecare număr x din fișierul de intrare valoarea 1 dacă x este curat sau 0 în caz contrar. Valorile sunt separate prin câte un spațiu.
Restricții și precizări
- în fișier sunt cel mult
1000de numere naturale mai mici decât100.000.000
Exemplu
nrcurat.in
345 18 53 986310 467 1638
nrcurat.out
0 1 0 1 0 1
Explicație
Numerele 18, 986310 și 1638 sunt numere curate.
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 nrcurat:
#include <bits/stdc++.h>
using namespace std;
ifstream f("nrcurat.in");
ofstream g("nrcurat.out");
int curat(int x)
{
int ogl=0,p=1,urma=0;
while(x)
{
ogl=ogl*10+x%10;
urma=urma+p*(9-x%10);
p=p*10;
x/=10;
}
return ogl==urma;
}
int main()
{
int x;
while(f>>x)
if(curat(x))
g<<1<<' ';
else
g<<0<<' ';
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
.
Rezolvarea problemei #3303 nrcurat
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3303 nrcurat 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!