U ovom programu naučit ćete provjeriti je li broj palindrom u Kotlinu ili ne. To se radi pomoću while petlje.
Primjer: Program za provjeru palindroma
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.") )
Kada pokrenete program, izlaz će biti:
121 je palindrom.
Napomena: Možete promijeniti vrijednost num na 11221, a kada pokrenete program, izlaz će biti:
11221 nije palindrom.
Evo ekvivalentnog Java koda: Java program za provjeru broja palindroma
U ovom programu,
- Prvo, zadana vrijednost broja (num) pohranjuje se u drugu cjelobrojnu varijablu, originalInteger. To je zato što na kraju moramo usporediti vrijednosti obrnutog broja i izvornog broja.
- Zatim se koristi loop za petlju kroz num dok ne bude jednako 0.
- Na svakoj se iteraciji zadnja znamenka broja pohranjuje u ostatak.
- Zatim se ostatak dodaje reversedInteger tako da se dodaje sljedećoj vrijednosti mjesta (množenje s 10).
- Zatim se posljednja znamenka uklanja iz broja nakon dijeljenja s 10.
- Na kraju se uspoređuju reversedInteger i originalInteger. Ako je jednak, to je palindromski broj. Ako nije, nije.
Evo koraka izvršenja koji se odvijaju:
Koraci izvršenja palindromanum | broj! = 0 | ostatak | reversedInteger |
---|---|---|---|
121 | pravi | 1 | 0 * 10 + 1 = 1 |
12 | pravi | 2 | 1 * 10 + 2 = 12 |
1 | pravi | 1 | 12 * 10 + 1 = 121 |
0 | lažno | - | 121 |