Šajā programmā jūs iemācīsities pārbaudīt, vai Kotlinā numurs ir palindroms. Tas tiek darīts, izmantojot while loop.
Piemērs: Palindroma pārbaudes programma
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.") )
Palaidot programmu, izeja būs:
121 ir palindroms.
Piezīme. Jūs varat mainīt num vērtību, sakot 11221, un, palaižot programmu, izeja būs:
11221 nav palindroms.
Šeit ir ekvivalents Java kods: Java programma Palindrome numura pārbaudei
Šajā programmā
- Pirmkārt, norādītā skaitļa (num) vērtība tiek saglabāta citā vesela skaitļa mainīgajā - originalInteger. Tas ir tāpēc, ka mums ir jāsalīdzina apgrieztā skaitļa un sākotnējā skaitļa vērtības beigās.
- Pēc tam, kamēr cilpa tiek izmantota, lai ciklētu caur num, līdz tā ir vienāda ar 0.
- Katrā atkārtojumā atlikušais ciparu cipars tiek saglabāts.
- Tad atlikumu pievieno reversedInteger tā, lai tas tiktu pievienots nākamajai vietas vērtībai (reizinot ar 10).
- Pēc tam pēdējais cipars tiek noņemts no numura pēc dalīšanas ar 10.
- Visbeidzot, tiek salīdzināti reversedInteger un originalInteger. Ja tas ir vienāds, tas ir palindroms skaitlis. Ja nē, tas tā nav.
Šeit ir izpildes darbības, kas notiek:
Palindroma izpildes soļinum | skaits! = 0 | atlikušo | reversedInteger |
---|---|---|---|
121 | taisnība | 1 | 0 * 10 + 1 = 1 |
12 | taisnība | 2 | 1 * 10 + 2 = 12 |
1 | taisnība | 1 | 12 * 10 + 1 = 121 |
0 | nepatiesa | - | 121 |