Which of these functions utilize recursion?
-
fun f1(a : Int, b : Int) : Int = a + b -
fun f2(n: Int): Int { if (n == 0 || n == 1) return 1 return n * f2(n - 1) } -
fun f3(n: Int): Int { var f = 1 for (i in 1..n) f *= i return f } -
fun f4(n : Int) { if(n < 1) return print(n) f4(n-1) }