Tässä ohjelmassa opit tarkistamaan, onko numero palindromi vai ei Kotlinissa. Tämä tehdään käyttämällä while-silmukkaa.
Esimerkki: Palindromen tarkistusohjelma
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.") )
Kun suoritat ohjelmaa, tulos on:
121 on palindromi.
Huomaa: Voit muuttaa num: n arvon sanaksi 11221, ja kun suoritat ohjelman, tulos on:
11221 ei ole palindromi.
Tässä on vastaava Java-koodi: Java-ohjelma Palindrome-numeron tarkistamiseksi
Tässä ohjelmassa
- Ensinnäkin annetun numeron (num) arvo tallennetaan toiseen kokonaislukumuuttujaan, originalInteger. Tämä johtuu siitä, että meidän on vertailtava käänteisen luvun ja alkuperäisen luvun arvoja lopussa.
- Sitten jonkin aikaa silmukkaa käytetään silmukan läpi numero, kunnes se on yhtä suuri kuin 0.
- Kullakin iteraatiolla viimeinen numeronumero tallennetaan loppuosan.
- Sitten loput lisätään reversedIntegeriin siten, että se lisätään seuraavaan paikka-arvoon (kerrottuna 10: llä).
- Sitten viimeinen numero poistetaan numerosta numerolla 10 jakamisen jälkeen.
- Lopuksi verrataan käänteistä ja alkuperäistä kokonaislukua. Jos se on yhtä suuri, se on palindromiluku. Jos ei, se ei ole.
Tässä ovat suorituksen vaiheet:
Palindromen suoritusvaiheetnumero | numero! = 0 | loput | käänteinen kokonaisluku |
---|---|---|---|
121 | totta | 1 | 0 * 10 + 1 = 1 |
12 | totta | 2 | 1 * 10 + 2 = 12 |
1 | totta | 1 | 12 * 10 + 1 = 121 |
0 | väärä | - | 121 |