我知道如何在java中计算加泰罗尼亚数字,这非常简单:
int catalan(int n) {
int res = 0;
// Base case
if (n <= 1) {
return 1;
}
for (int i = 0; i < n; i++) {
res += catalan(i) * catalan(n - i - 1);
}
return res;
}但我无法想象如何在Scala中做到这一点,因为我对它完全陌生。有没有可能在不使用var的情况下做到这一点?
我尝试了以下方法,但不起作用:
object Catalan {
def catalan: Int => Int = n => {
val res = 0
val i = 0
if (n <= 1) 1
else for (i <- 0 to n-1) res += catalan(i) * catalan(n - i - 1)
}
}提前感谢:)
https://stackoverflow.com/questions/38146029
复制相似问题