I dette program lærer du at kontrollere, om et tal er palindrom eller ikke i Kotlin. Dette gøres ved hjælp af mens loop.
Eksempel: Program til kontrol af palindrom
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.") )
Når du kører programmet, vil output være:
121 er et palindrom.
Bemærk: Du kan ændre værdien på num til at sige 11221, og når du kører programmet, vil output være:
11221 er ikke et palindrom.
Her er ækvivalent Java-kode: Java-program til kontrol af palindromnummer
I dette program
- Først gemmes det givne tal (num) 's værdi i en anden heltalsvariabel, originalInteger. Dette skyldes, at vi er nødt til at sammenligne værdierne for omvendt antal og originalt tal i slutningen.
- Derefter bruges en while-løkke til at løbe igennem num, indtil den er lig med 0.
- På hver iteration gemmes det sidste ciffer i antal i resten.
- Derefter tilføjes resten til reversedInteger, således at den føjes til den næste placeringsværdi (multiplikation med 10).
- Derefter fjernes det sidste ciffer fra num efter division med 10.
- Endelig sammenlignes reversedInteger og originalInteger. Hvis det er lige, er det et palindromtal. Hvis ikke, er det ikke tilfældet.
Her er de udførelsestrin, der finder sted:
Palindrome udførelsestrinantal | num! = 0 | resten | reversedInteger |
---|---|---|---|
121 | sand | 1 | 0 * 10 + 1 = 1 |
12 | sand | 2 | 1 * 10 + 2 = 12 |
1 | sand | 1 | 12 * 10 + 1 = 121 |
0 | falsk | - | 121 |