#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("%d=%d\n",i,f(i));
return 0;
}
记过 1=1 2=2 3=5 4=14
过程不太了解憋了10多分钟,只知道1满足条件返回1
当n=2 进入循环 f(1)f(0)=1,f(0)(1)=1 s=2
当n=3 进入循环 f(2)(1) =2, f(1)*(0)=1,f(0)*f(1) s=4 结果是5
,就有点懵了 n=4就更不知道了
有没有心细的人解答一下,蟹蟹
一个简单c语言程序解过程不太懂
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 於黾 2022-06-16 08:43关注
f是个递归函数
它怎么递归的你其实不用一步一步的去看
你只要知道它的功能是求通项是f(i)f(n-1-i)的级数和
还知道f(0)=1,f(1)=1
那么f(2)=f(0)*f(1)+f(1)*f(0)=2
f(3)=f(0)*f(2)+f(1)*f(1)+f(2)*f(0)=2+1+2=5
f(4)=f(0)*f(3)+f(1)*f(2)+f(2)*f(1)+f(3)*f(0)=5+2+2+5=14本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
- ¥15 如何能达到用ping0.cc检测成这样?如图
- ¥15 关于#DMA固件#的问题,请各位专家解答!
- ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
- ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
- ¥20 微信小程序 canvas 问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验