1.Oglinditul unui număr este un număr care conţine toate cifrele acelui număr în aceeaşi ordine, însă de la dreapta la stânga. De exemplu, oglinditul lui 178 este 871. El se obţine astfel:
Algoritmul în C++
#include
using namespace std;
int main()
{
unsigned x,ogl=0;
cin>>x;
while(x!=0)
{
ogl=ogl*10+x%10;
x=x/10;
}
cout<<ogl;
return 0;
}
2.Un palindrom este un număr egal cu oglinditul său. De exemplu, numărul 54345 are oglinditul 54345, cu care este egal, deci este un palindrom. Pentru a verifica dacă un număr este palindrom se va afla oglinditul, după care se va compara cu numărul iniţial.
Algoritmul în C++
#include
using namespace std;
int main()
{
unsigned x,ogl=0,x1;
cin>>x;
x1=x;
while(x1!=0)
{
ogl=ogl*10+x1%10;
x1=x1/10;
}
if(x==ogl)cout<<"Numarul este un palindrom";
else cout<<"Numarul nu este un palindrom";
return 0;
}
3.Eliminarea de cifre se va realiza în 2 paşi cu ajutorul oglinditului. Astfel, când aflăm oglinditul, vom avea condiţia ca cifra să nu aibă o anumită proprietate pentru a nu fi eliminată. Apoi, vom oglindi oglinditul, pentru a obţine numărul cu cifrele în ordinea corectă.
Exemplu: Eliminaţi cifrele pare dintr-un număr n.
Algoritmul în C++
#include
using namespace std;
int main()
{
unsigned x,ogl=0,ogl1=0;
cin>>x;
while(x!=0)
{
if((x%10)%2!=0)ogl=ogl*10+x%10;
x=x/10;
}
while(ogl!=0)
{
ogl1=ogl1*10+ogl%10;
ogl=ogl/10;
}
cout<<ogl1;
return 0;
}