Răspuns :
Răspuns:
#include <fstream>
using namespace std;
ifstream cin("nrcurat.in");
ofstream cout("nrcurat.out");
int main()
{
int n;
while ( cin >> n ) // cat timp se citesc numere
{
int ogl = 0; // oglindit
int aux = n; // auxiliar
int nrc = 0; // nr cifre
int nn = 9;
int cnt = 1;
// am declarat asa ca sa se vada mai usor
while ( aux )
{
int c = aux % 10;
ogl = ogl * 10 + c; // algoritmul pentru oglindit
nrc++; // cat timp aux != 0 nrc = nrc + 1, rezultand astfel numarul de cifre
aux = aux / 10;
}
while ( cnt < nrc )
{
nn = nn * 10 + 9;
cnt++;
}
if ( ogl == nn - n )
cout << 1 << ' ';
else
cout << 0 << ' ';
}
return 0;
}
while ( cnt < nrc )
{
nn = nn * 10 + 9;
cnt++;
}
aici se creeaza un numar care are atatea cifre de 9 cate cifre are n
- nn e initial 9
de ce? daca n ar avea o cifra nn ar avea o singura cifra, adica 9
ex, numarul 18: -> 2 cifre
cat timp 1 < 2
- 9 = 9 * 10 + 9, adica 99
cnt devine 2 si se opreste
la final, zic pe exemplu
n = 18;
ogl = 81
daca 81 = 99 - 18
cout << 1 << ' ';
atentie, folosim o variabila ajutatoare aux pentru ca avem nevoie de n mai tarziu
daca structura este
while ( n )
{
int c = n % 10;
ogl = ogl * 10 + c;
nrc++;
n = n / 10;
}
la sfarsitul ei n devine 0
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!