Kotlin教程:递归函数

2023年 7月 12日 28.6k 0

递归函数是一个连续调用自身的函数。 这种技术称为递归。

语法

fun functionName(){    
    .. .. ..  
    functionName() //调用函数自身 
}

Kotlin

Kotlin递归函数示例1:有限次数

下面来看看一个递归函数打印计数的例子。

var count = 0
fun rec(){
    count++;
    if(count 1
count => 2
count => 3
count => 4
count => 5

Kotlin递归函数示例2:阶乘数

下面我们来看一个计算阶乘数的递归函数的例子。

fun main(args: Array) {
    val number = 5
    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)
    }
}

Kotlin

执行上面示例代码,得到以下结果 -

Factorial of 5 = 120

上述阶乘实例的工作过程 -

factorial(5)   
   factorial(4)   
      factorial(3)   
         factorial(2)   
            factorial(1)   
               return 1   
            return 2*1 = 2   
         return 3*2 = 6   
      return 4*6 = 24   
   return 5*24 = 120

Kotlin尾递归

在讨论学习尾递归之前,先来尝试使用一般(正常)递归来计算第n个(上限数为100000)的总和。

一般递归 下面来看使用一般(正常)递归计算第n个(上限数为100000)之和的示例。

fun main(args: Array) {
var result = recursiveSum(100000)
println(result)
}
fun recursiveSum(n: Long) : Long {
return if (n

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论