se da un numar natural n.se cere sa se determine numarul obtinut din n,dar care are cifrele in ordinea inversa.
Răspunsuri la întrebare
Răspuns:
Ai rezolvarea în poză. Numărul obținut prin inversarea cifrelor sale se numește oglindit. Am pus o variabilă numită ogl, pe care am inițializat-o cu 0. Vei observa pe parcurs cum funcționează. Iar n%10 reprezintă ultima cifră a numărului n, în timp ce n/10 taie ultima cifră a acestui număr.
Să vedem cum funcționează. Să presupunem că n=1234.
Se execută instrucțiunea while atât timp cât n mai are cifre, adică este diferit de zero. Reține că while(n) are același efect ca și while(n!=0).
Se calculează variabila ogl. ogl = 0 * 10 + 1234%10 => 0 + 4 => ogl = 4.
n /= 10 este echivalent cu n = n / 10 => n = 1234 / 10 => n = 123. Cum am mai spus, instrucțiunea n/=10 taie ultima cifră a numărului n.
Întrucât 123 nu este egal cu 0, instrucțiunea se va executa în continuare. ogl = 4 * 10 + 123 % 10 => ogl = 40 + 3 => ogl = 43.
n = 12.
Acum e rândul tău să-ți dai seama cum vine. Încearcă și pentru alte numere.
#include <iostream>
using namespace std;
int main()
{
int n,rest,oglindit=0;
cin>>n;
while (n!=0)
{
rest = n % 10l;
oglindit = oglindit * 10 + rest;
n = n /10;
}
cout<<oglindit;
return 0;
}
Sper că te-am ajutat, coroană? :)