/*
* File: main.cpp
* Author: Micren
*
* Created on 16 Январь 2011 г., 16:29
*/
#include <iostream>
#include <iomanip>
#include <locale>
#include <limits>
using namespace std;
typedef unsigned int uint;
// Используется для ввода данных
template<class T>
T input(const char* const msg)
{
T res = 0;
while (true)
{
cout << msg;
cin >> res;
if (cin.fail())
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Ошибка ввода." << endl;
}
else
{
return res;
}
}
}
// Меняет порядок цифр на обратный
uint reverse(uint value)
{
uint result = 0;
while (value)
{
result = result * 10 + value % 10;
value /= 10;
}
return result;
}
// Проверяет является ли число палиндромом
bool isPalindrom(uint value)
{
return value == reverse(value);
}
/*
*
*/
int main()
{
locale::global(locale(""));
uint n = input<uint > ("Введите n:"), m = input<uint > ("Введите m:");
bool flag;
while (!(flag = isPalindrom(n)) && m--)
{
n += reverse(n);
}
cout << "Верно ли, что число стало палиндромом(" << n << "):" << boolalpha << flag << endl;
system("pause");
return 0;
}
Введите n:239
Введите m:1
Верно ли, что число стало палиндромом(1171):false
Введите n:239
Введите m:10
Верно ли, что число стало палиндромом(2882):true
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.