Программа на C ++ для проверки того, является ли число палиндромом или нет

Эта программа меняет на обратное целое число (введенное пользователем) с помощью цикла while. Затем оператор if используется для проверки того, совпадает ли обратное число с исходным числом.

Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:

  • C ++ while и do … while Цикл
  • C ++ if, if… else и Nested if… else

Эта программа принимает целое число от пользователя, и это целое число переворачивается.

Если обратное целое число равно целому числу, введенному пользователем, то это число является палиндромом, если не это число не является палиндромом.

Пример: Проверить номер палиндрома

 #include using namespace std; int main() ( int n, num, digit, rev = 0; cout <> num; n = num; do ( digit = num % 10; rev = (rev * 10) + digit; num = num / 10; ) while (num != 0); cout << " The reverse of the number is: " << rev << endl; if (n == rev) cout << " The number is a palindrome."; else cout << " The number is not a palindrome."; return 0; ) 

Вывод

 Введите положительное число: 12321 Число, обратное числу: 12321, представляет собой палиндром. 
 Введите положительное число: 12331 Число на обороте: 13321 Число не является палиндромом. 

В приведенной выше программе пользователю предлагается ввести положительное число, которое хранится в переменной num.

Затем число сохраняется в другой переменной n, чтобы проверить его, когда исходное число было перевернуто.

Внутри цикла do… while последняя цифра числа разделяется кодом digit = num % 10;. Затем эта цифра добавляется к переменной rev.

Перед добавлением цифры к rev нам сначала нужно умножить текущие данные в переменной rev на 10, чтобы добавить цифру к n- му месту в числе.

Например: в количестве 123, 3 находится в нуль - е место, 2 в одном - е место и 1 в сто - е место.

Таким образом, чтобы добавить еще один номер 4 после того, как 123, нам нужно перенести текущие номера влево, так что теперь 1 в тысяче - е место, 2 в одном - е место, 3 находится в одном - е место и 4 в ноль место.

Это легко сделать, умножив 123 на 10, что даст 1230, и прибавив число 4, что даст 1234. То же самое сделано в приведенном выше коде.

Когда цикл do while, наконец, заканчивается, мы получаем обратное число в rev. Затем это число сравнивается с исходным числом n.

Если числа равны, исходное число является палиндромом, в противном случае - нет.

Интересные статьи...