В этой программе вы научитесь проверять, является ли число палиндромом в Котлине. Это делается с помощью цикла while.
Пример: программа для проверки палиндрома
fun main(args: Array) ( var num = 121 var reversedInteger = 0 var remainder: Int val originalInteger: Int originalInteger = num // reversed integer is stored in variable while (num != 0) ( remainder = num % 10 reversedInteger = reversedInteger * 10 + remainder num /= 10 ) // palindrome if orignalInteger and reversedInteger are equal if (originalInteger == reversedInteger) println("$originalInteger is a palindrome.") else println("$originalInteger is not a palindrome.") )
Когда вы запустите программу, вывод будет:
121 - палиндром.
Примечание. Вы можете изменить значение числа на 11221, и когда вы запустите программу, результат будет следующим:
11221 - это не палиндром.
Вот эквивалентный код Java: Программа Java для проверки номера палиндрома
В этой программе
- Во-первых, значение данного числа (num) сохраняется в другой целочисленной переменной, originalInteger. Это потому, что нам нужно сравнить значения перевернутого числа и исходного числа в конце.
- Затем цикл while используется для перебора num до тех пор, пока он не станет равным 0.
- На каждой итерации последняя цифра числа сохраняется в остатке.
- Затем остаток добавляется к reversedInteger, так что он добавляется к следующему разряду (умножение на 10).
- Затем последняя цифра удаляется из числа после деления на 10.
- Наконец, сравниваются reversedInteger и originalInteger. Если равно, то это число палиндрома. Если нет, то это не так.
Вот выполняемые шаги:
Шаги выполнения палиндромачисло | число! = 0 | остаток | reverseInteger |
---|---|---|---|
121 | правда | 1 | 0 * 10 + 1 = 1 |
12 | правда | 2 | 1 * 10 + 2 = 12 |
1 | правда | 1 | 12 * 10 + 1 = 121 |
0 | ложный | - | 121 |