“Recursion functions”的版本间差异
本页内容
(创建页面,内容为“{{DISPLAYTITLE:递归函数}}4 = Scala 递归函数 = Scala 函数 递归函数在函数式编程的语言中起着重要的作用。 Scala 同样支持递归函数。 递归函数意味着函数可以调用它本身。 以上实例使用递归函数来计算阶乘: <sample title="" desc="" lang="scala" hererun="1"> object Test { def main(args: Array[String]) { for (i <- 1 to 10) println…”) |
无编辑摘要 |
||
第12行: | 第12行: | ||
以上实例使用递归函数来计算阶乘: | 以上实例使用递归函数来计算阶乘: | ||
< | <pre> | ||
object Test { | object Test { | ||
def main(args: Array[String]) { | def main(args: Array[String]) { | ||
for (i | for (i <- 1 to 10) | ||
println(i + | println(i + " 的阶乘为: = " + factorial(i) ) | ||
} | } | ||
def factorial(n: BigInt): BigInt = { | def factorial(n: BigInt): BigInt = { | ||
if (n | if (n <= 1) | ||
1 | 1 | ||
else | else | ||
第26行: | 第26行: | ||
} | } | ||
} | } | ||
</pre> | |||
执行以上代码,输出结果为: | 执行以上代码,输出结果为: | ||
< | <pre> | ||
$ scalac Test.scala | $ scalac Test.scala | ||
$ scala Test | $ scala Test | ||
第42行: | 第42行: | ||
9 的阶乘为: = 362880 | 9 的阶乘为: = 362880 | ||
10 的阶乘为: = 3628800 | 10 的阶乘为: = 3628800 | ||
</pre> | |||
[[scala functions|Scala 函数]] | [[scala functions|Scala 函数]] |
2022年10月14日 (五) 16:51的最新版本
Scala 递归函数
递归函数在函数式编程的语言中起着重要的作用。
Scala 同样支持递归函数。
递归函数意味着函数可以调用它本身。
以上实例使用递归函数来计算阶乘:
object Test { def main(args: Array[String]) { for (i <- 1 to 10) println(i + " 的阶乘为: = " + factorial(i) ) } def factorial(n: BigInt): BigInt = { if (n <= 1) 1 else n * factorial(n - 1) } }
执行以上代码,输出结果为:
$ scalac Test.scala $ scala Test 1 的阶乘为: = 1 2 的阶乘为: = 2 3 的阶乘为: = 6 4 的阶乘为: = 24 5 的阶乘为: = 120 6 的阶乘为: = 720 7 的阶乘为: = 5040 8 的阶乘为: = 40320 9 的阶乘为: = 362880 10 的阶乘为: = 3628800