Переворот цифр числа
💻 Информатика · 8 класс
Что значит перевернуть число
Перевернуть число — значит записать его цифры в обратном порядке. Например, из числа 153 получается 351, а из 8290 — 0928, то есть 928. Эта задача похожа на подсчёт суммы цифр, но вместо сложения здесь цифры по очереди «приставляются» к строящемуся числу, поэтому в дело вступает умножение на 10. Переворот числа часто используют для проверки, является ли число палиндромом, то есть читается ли оно одинаково в обе стороны.
Идея алгоритма
Мы по очереди отделяем последнюю цифру исходного числа и «дописываем» её в конец строящегося результата. Чтобы дописать цифру в конец числа, результат сначала умножают на 10 (освобождая место в младшем разряде), а затем прибавляют новую цифру.
n mod 10— последняя цифра исходного числа;результат = результат * 10 + цифра— дописываем цифру в конец;n div 10— убираем уже обработанную цифру.
Разбор на примере
Перевернём число 153 и проследим, как растёт результат.
| Шаг | n | Цифра | Результат | n после деления |
|---|---|---|---|---|
| старт | 153 | — | 0 | 153 |
| 1 | 153 | 3 | 3 | 15 |
| 2 | 15 | 5 | 35 | 1 |
| 3 | 1 | 1 | 351 | 0 |
После третьего шага исходное число обнулилось, а в результате собралось 351 — это и есть перевёрнутое число.
Запись алгоритма
r = 0
пока n > 0
r = r * 10 + (n mod 10)
n = n div 10
конец
По окончании цикла перевёрнутое число хранится в переменной r. Алгоритм работает с числом любой разрядности и не требует заранее знать, сколько в нём цифр.
Проверка на палиндром
Один из самых частых способов применить переворот — это проверка, является ли число палиндромом. Палиндром читается одинаково слева направо и справа налево, например 121 или 5775. Чтобы проверить число, его переворачивают и сравнивают с исходным: если перевёрнутое число совпало с первоначальным, перед нами палиндром. Поэтому исходное число важно заранее сохранить в отдельной переменной, ведь в ходе переворота оно разрушается. Этот же приём с переворотом используют, когда нужно сравнить число с его «отражением» или построить новое число из цифр исходного в обратном порядке.
Частые ошибки. Главное — умножать результат на 10 до прибавления цифры, а не после, иначе разряды собьются. Не забывайте обнулить результат перед началом цикла. Помните также: если в исходном числе есть нули на конце, после переворота они исчезнут (например, 120 превратится в 21) — это естественное свойство десятичной записи чисел.
Кратко о главном
- Перевернуть число — значит записать его цифры в обратном порядке.
- Последнюю цифру даёт остаток от деления на 10.
- Дописывание цифры в конец:
результат * 10 + цифра. - Цикл идёт, пока исходное число больше нуля.
- Результат нужно обнулить перед циклом.
- Концевые нули исходного числа при перевороте теряются.