همانطور که احتمالا میدونین از مثالهای اولیه هر زبانی، نوشتن تابع فاکتوریل یا فیبوناچی هستش. توی مثال زیر برنامه ای برای محاسبه فاکتوریل یک عدد نوشته شده.
یادآوری: factorial(5) = 5 * 4 * 3 * 2 * 1 هستش!
fun main(arg: Array<String>) { val n: Int println("enter N: ") n = readLine()!!.toInt() // خوندن ورودی var result = fact(n) print("$n! = $result") } fun fact(x: Int): Long { var sum: Long = x.toLong() if (x == 1) { return 1 } else { sum *= fact(x - 1) } return sum } // مثال: اگر کاربر 5 را وارد کند // 5 // 5 * f(4) // 5 * [4 * f(3)] // 5 * [4 * [3 * f(2)]] // 5 * [4 * [3 * [2 * f(1)]]] // 5 * [4 * [3 * [2 * 1]]]
روش دوم:
fun main(args: Array<String>) { val number: Int println("enter N: ") number = readLine()!!.toInt() // خوندن ورودی val result: Long result = factorial(number) println("Factorial of $number = $result") } fun factorial(n: Int): Long { return if (n == 1) n.toLong() else n*factorial(n-1) }