首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Scala中递归的Catalan数

在Scala中递归的Catalan数
EN

Stack Overflow用户
提问于 2016-07-01 20:56:33
回答 0查看 435关注 0票数 0

我知道如何在java中计算加泰罗尼亚数字,这非常简单:

代码语言:javascript
复制
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的情况下做到这一点?

我尝试了以下方法,但不起作用:

代码语言:javascript
复制
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)
  }

}

提前感谢:)

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38146029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档