Răspuns :
Am incercat sa rezolv. Nu prea mi-a iesit, adica merge pentru cateva numere dupa care este gresit, poate ai scris gresit enuntul? Daca nu, uite aici, mai incearca si tu.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void scrie(string str)
{
cout << str;
}
void scrieLinie(string str)
{
cout << str + "\n";
}
int inverseazaNR(int nr)
{
if (nr < 0) { return -1; }
int nrInversat = 0;
int ultimaCifra;
while (nr != 0)
{
ultimaCifra = nr % 10;
nrInversat = (nrInversat * 10) + ultimaCifra;
nr /= 10;
}
return nrInversat;
}
int main(int argc, char* argv[])
{
argc -= 1;
if (argc < 1)
{
scrieLinie("ERORARE: Nu s-a specificat numarul de cifre!");
return 1;
}
int nrDeCifre = stoi(argv[1]);
int nr = 10000;
for (int i=0; i < nrDeCifre; i++)
{
int nrInversat = inverseazaNR(nr);
int nrFinal = nr + nrInversat;
int primaCifra = nrFinal;
int ultimaCifra = nrFinal % 10;
while (primaCifra >= 10)
primaCifra /= 10;
nr += i;
if (primaCifra != ultimaCifra)
continue;
else
scrieLinie(to_string(nrFinal));
}
return 0;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!