Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun main(args: Array<String>) {
- find(Numbers)
- }
- fun find(numbers: IntArray, index: Int = 0, data: String = "") {
- if (index >= numbers.size) {
- if (data.isNotEmpty() && eval(data).compareTo(Result) == 0)
- println("$data = $Result")
- } else {
- val number = numbers[index].toString()
- if (index == 0) {
- find(numbers, 1, number)
- find(numbers, 1, Minus + number)
- } else
- for (operator in Operators)
- find(numbers, index + 1, data + operator + number)
- }
- }
- fun eval(data: String) = Expression(data).eval()
- val Numbers = intArrayOf(6, 6, 1, 3, 7, 6, 6)
- val Result = BigDecimal("100")
- val Operators = arrayOf("+", "-", "/", "*")
- val Minus = "-"
Add Comment
Please, Sign In to add comment