首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C中加泰罗尼亚数的计算

C中加泰罗尼亚数的计算
EN

Stack Overflow用户
提问于 2021-09-27 21:08:20
回答 1查看 136关注 0票数 0

我在为C中的赋值编写一些代码,我不得不递归地计算一个加泰罗尼亚数。给出了以下公式:公式IMG

应采用以下方式:

0>1(填写0应打印1)

5> 42 (填5应打印42)

7> 429 (填写7份应打印429份)

9> 4862 (填写9应打印4862)

10 > 16796 (填写10应打印16796)

请看一看:

代码语言:javascript
复制
#pragma warning(disable : 4996)
#include <stdio.h>

int catalanRecursief(int n) {
    if (n == 0){
        return 1;
    } else { 
        return (2 * ((2 * n) - 1)) / (n + 1) * (catalanRecursief(n - 1));
}
}


int main(void){
    int n;
    printf("Catalan printer\n\n");
    printf("What catalan number do you want to calculate? ");
    scanf("%d", &n);

    /*catalanRecursief(n);*/

    printf("Catalan number: %d > %d", n, catalanRecursief(n));
    
    getchar();
    return(0);
    
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-27 21:25:36

通过将单元从n改为浮动,就足以解决这个问题。

代码语言:javascript
复制
int catalanRecursief(float n) {
  if (n == 0) {
    return 1;
  } else {
    return ((2 * ((2 * n) - 1)) / (n + 1)) * (catalanRecursief(n - 1));
  }
}

或者也是

代码语言:javascript
复制
int catalanRecursief(int n) {
  if (n == 0) {
    return 1;
  } else {
    return ((2.0 * ((2 * n) - 1)) / (n + 1)) * (catalanRecursief(n - 1));
  }
}

这是因为除以整数c可以截断它们。

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

https://stackoverflow.com/questions/69353272

复制
相关文章

相似问题

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