Pagini recente » Cod sursa (job #2768177) | Cod sursa (job #410691) | Cod sursa (job #853608) | Cod sursa (job #621427) | Cod sursa (job #2417916)
#include <iostream>
using namespace std;
int nrcifre( int x )
{
int inlocuitor1234, nrcif = 0;
inlocuitor1234 = x;
while ( inlocuitor1234 != 0 )
{
nrcif++;
inlocuitor1234 = inlocuitor1234 / 10;
}
return nrcif;
}
int palindrom1( int nr1 )
{
int k, imp = 1, num1, ogl1 = 0, inl1;
num1 = nr1;
for ( k = 1; k <= nrcifre(nr1); k++ )
{
imp = imp * 10;
}
for ( k = 1; k <= nrcifre(nr1) / 2; k++ )
{
num1 = num1 / 10;
}
inl1 = num1;
while ( num1 != 0 )
{
ogl1 = ogl1 * 10 + num1 % 10;
num1 = num1 / 10;
}
for ( k = 1; k <= nrcifre(nr1) / 2; k++ )
{
inl1 = inl1 * 10;
}
inl1 = inl1 + ogl1;
return inl1;
}
int palindrom2( int nr2 )
{
int k2, imp2 = 1, num2, ogl2 = 0, inl2;
num2 = nr2;
for ( k2 = 1; k2 <= nrcifre(nr2); k2++ )
{
imp2 = imp2 * 10;
}
for ( k2 = 1; k2 <= nrcifre(nr2) / 2; k2++ )
{
num2 = num2 / 10;
}
num2 = num2 - 1;
inl2 = num2;
while ( num2 != 0 )
{
ogl2 = ogl2 * 10 + num2 % 10;
num2 = num2 / 10;
}
for ( k2 = 1; k2 <= nrcifre(nr2) / 2; k2++ )
{
inl2 = inl2 * 10;
}
inl2 = inl2 + ogl2;
return inl2;
}
int main()
{
int y;
cin >> y;
while ( y != palindrom1(y) )
{
if ( nrcifre(y) % 2 == 0 )
{
if ( ( palindrom1(y) - y ) > ( y - palindrom2(y) ) && y > palindrom2(y) )
{
cout << y - palindrom2(y) << " " << palindrom2(y);
}
else
{
if (( palindrom1(y) - y ) > ( y - palindrom2(y) ) && y < palindrom2(y))
cout << palindrom2(y) - y << " " << palindrom2(y);
if ( ( palindrom1(y) - y ) < ( y - palindrom2(y) ) && palindrom1(y) > y )
cout << palindrom1(y) - y << " " << palindrom1(y);
else
{
if ( ( palindrom1(y) - y ) < ( y - palindrom2(y) ) && palindrom1(y) < y )
cout << y - palindrom1(y) << " " << palindrom1(y);
}
if ( ( palindrom1(y) - y ) == ( y - palindrom2(y) ) && palindrom1(y) > y )
{
cout << palindrom1(y) - y << " " << palindrom1(y);
}
else
{
if ( ( palindrom1(y) - y ) == ( y - palindrom2(y) ) && palindrom1(y) < y )
cout << y - palindrom1(y) << " " << palindrom1(y);
}
}
}
}
return 0;
}