В тази програма ще се научите да проверявате дали даден номер е палиндром или не в Kotlin. Това се прави с помощта на цикъл 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 е палиндром.
Забележка: Можете да промените стойността на num на 11221 и когато стартирате програмата, изходът ще бъде:
11221 не е палиндром.
Ето еквивалентния Java код: Java програма за проверка на Palindrome Number
В тази програма,
- Първо, стойността на дадено число (число) се съхранява в друга целочислена променлива, originalInteger. Това е така, защото трябва да сравним стойностите на обърнатото число и оригиналното число в края.
- След това се използва цикъл while, за да премине през num, докато е равен на 0.
- При всяка итерация последната цифра от числото се съхранява в остатъка.
- След това остатъкът се добавя към reversedInteger, така че да се добавя към следващата стойност на място (умножение по 10).
- След това последната цифра се премахва от число след деление на 10.
- Накрая се сравняват reversedInteger и originalInteger. Ако е равно, това е число на палиндром. Ако не, не е така.
Ето стъпките за изпълнение, които се извършват:
Стъпки за изпълнение на палиндромаброй | число! = 0 | остатък | reversedInteger |
---|---|---|---|
121 | вярно | 1 | 0 * 10 + 1 = 1 |
12 | вярно | 2 | 1 * 10 + 2 = 12 |
1 | вярно | 1 | 12 * 10 + 1 = 121 |
0 | невярно | - | 121 |