In dit programma leer je controleren of een nummer palindroom is of niet in Kotlin. Dit wordt gedaan met de while-lus.
Voorbeeld: programma om palindroom te controleren
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.") )
Wanneer u het programma uitvoert, is de uitvoer:
121 is een palindroom.
Opmerking: u kunt de waarde van num wijzigen in 11221, en wanneer u het programma uitvoert, is de uitvoer:
11221 is geen palindroom.
Hier is gelijkwaardige Java-code: Java-programma om palindroomnummer te controleren
In dit programma
- Eerst wordt de waarde van het gegeven nummer (num) opgeslagen in een andere integer-variabele, originalInteger. Dit komt omdat we de waarden van het omgekeerde nummer en het originele nummer aan het einde moeten vergelijken.
- Vervolgens wordt een while-lus gebruikt om door num te lopen totdat deze gelijk is aan 0.
- Bij elke iteratie wordt het laatste cijfer van num opgeslagen in de rest.
- Vervolgens wordt de rest opgeteld bij reversedInteger zodat het wordt opgeteld bij de waarde van de volgende plaats (vermenigvuldiging met 10).
- Vervolgens wordt het laatste cijfer verwijderd uit num na deling door 10.
- Ten slotte worden reversedInteger en originalInteger vergeleken. Indien gelijk, is het een palindroomgetal. Zo niet, dan is het dat niet.
Hier zijn de uitvoeringsstappen die plaatsvinden:
Palindrome uitvoeringsstappennum | num! = 0 | rest | reversedInteger |
---|---|---|---|
121 | waar | 1 | 0 * 10 + 1 = 1 |
12 | waar | 2 | 1 * 10 + 2 = 12 |
1 | waar | 1 | 12 * 10 + 1 = 121 |
0 | false | - | 121 |