/* * File: even_odd.kt * Purpose: This program demonstrates mutual recursion in a simple * setting */ fun main() { for (i in -5..5) { println(if (even(i)) "$i is even" else "$i is odd"); } println(); for (i in -5..5) { println(if (odd(i)) "$i is odd" else "$i is even"); } } fun even(n: Int): Boolean { return when { n < 0 -> even(-n) n == 0 -> true else -> odd(n-1) } } fun odd(n: Int): Boolean { return when { n < 0 -> odd(-n) n == 0 -> false else -> even(n-1) } }