File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change
1
+ package ch5PrimitiveTypes
2
+
3
+ import kotlin.math.log10
4
+
5
+ fun main (args : Array <String >) {
6
+ val testNumber1 = 121
7
+ val testNumber2 = 122
8
+ val testNumber3 = 2222
9
+
10
+ println (isPalindrome(testNumber1))
11
+ println (isPalindrome(testNumber2))
12
+ println (isPalindrome(testNumber3))
13
+ }
14
+
15
+ fun isPalindrome (num : Int ): Boolean {
16
+ var number = num
17
+ val numberOfDigits = log10(number.toDouble()).toInt() + 1
18
+ var mask = Math .pow(10 .toDouble(), (numberOfDigits - 1 ).toDouble())
19
+
20
+ repeat(numberOfDigits/ 2 , {
21
+ val mostLeft = (number / mask).toInt()
22
+ val mostRight = number.rem(10 )
23
+
24
+ if (mostLeft != mostRight){
25
+ return false
26
+ }
27
+
28
+ number = number.rem(mask).toInt()
29
+ number / = 10
30
+ mask / = 100
31
+ })
32
+
33
+ return true
34
+ }
35
+
You can’t perform that action at this time.
0 commit comments