学好编程! 2022-03-19 21:28 采纳率: 96.8%
浏览 13
已结题

结果是怎么算出来的呢 我算的结果都是1

#include <stdio.h>
int f(int n)

int s=0,i;

if(n==이|n==1)
return 1;

for(i=n-1;i>=0;i--)
s+=f(i)*f(n-1-i);
return s;

int main()

int i;
for(i=1;i<=4;i++)
printf("f(%d)=%d\n" ,i,f(i));
return 0;
}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-03-19 21:39
    关注
    #include <stdio.h>
    int f(int n)
    {
        int s=0,i;
    
        if(n==0||n==1)
            return 1;
    
        for(i=n-1;i>=0;i--)
            s+=f(i)*f(n-1-i);
        return s;
    }
    int main()
    {
            int i;
        for(i=1;i<=4;i++)
            printf("f(%d)=%d\n" ,i,f(i));
        return 0;
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月19日