/* * File: ssum.kt * Purpose: Solves the SSUM problem naively. * Compilation: kotlinc ssum.kt * Execution: kotlin SsumKt * Author: San Skulrattanakulchai */ fun ssum(a: IntArray, t: Int) { var solution = false fun check(i: Int, sum: Int) { if (i < a.size) { check(i+1, sum) check(i+1, sum + a[i]) } else if (sum == t) { solution = true } } check(0, 0) println(solution) } fun main(args: Array) { val a = intArrayOf(7, 3, 1, 5, 6) ssum(a, 12) // => true ssum(a, 24) // => false }