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 vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Ne vedem curând și nu uitați să ne adăugați la marcaje!