// TARGET_BACKEND: JVM operator fun Int.plus(a: Int?) = this + a!! public open class PerfectNumberFinder() { open public fun isPerfect(number : Int) : Boolean { var factors : MutableList = ArrayList() factors?.add(1) factors?.add(number) for (i in 2..(Math.sqrt((number).toDouble()) - 1).toInt()) if (((number % i) == 0)) { factors?.add(i) if (((number / i) != i)) factors?.add((number / i)) } var sum : Int = 0 for (i : Int? in factors) sum += i return ((sum - number) == number) } } fun box () = if (PerfectNumberFinder().isPerfect(28)) "OK" else "fail"