fun countDenum(number: Int, denum: Int): Int { var count = 0; var curNum = number; val remainder = BooleanArray(1000, {false}) remainder[0] = true; do { count++; remainder[curNum] = true; curNum *= 10; var intPart = curNum / denum; var tail = curNum - intPart * denum; curNum = tail; } while(!remainder[curNum]) if(curNum == 0) return 0; return count; } fun main() { var maxLengthNumber = 1; var maxLength = 0; for (i in 2..1000) { val length = countDenum(1,i); if (length > maxLength) { maxLengthNumber = i; maxLength = length; } println("$i, $length"); } println("$maxLengthNumber, $maxLength"); }