运用递归解决问题:
问题描述:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,
每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
输入:
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0n55),
n的含义如题目中描述。n=0表示输入数据的结束,不做处理。
输出:
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
这题的规律就是f(x)=f(x-1)+f(x-3)第N年牛的数量等于前一年加上前第三年的和;
比如第四年牛的数量等于第一年加第三年牛数量的和即1+1等于2;
递归解法:小编推荐一个学C语言/C++的学习裙,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
#includestdio.hintf(intn){if(n4){returnn;}else{returnf(n-1)+f(n-3);}}intmain(){intn;intf(intn);while(scanf("%d",n)!=EOFn0){printf("%d\n",f(n));}}
数组解法:
#includestdio.hintmain(){voidfun(intn);inta[55];inti=0,j;scanf("%d",a);while(a!=0){i++;scanf("%d",a);}for(j=0;ji;j++){if(a[j]=3)printf("%d\n",a[j]);elsefun(a[j]);}return0;}voidfun(intn){intb[55],i;for(i=0;i3;i++)b=i+1;for(i=3;i55;i++)b=b[i-1]+b[i-3];printf("%d\n",b[n-1]);}
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
预览时标签不可点收录于话题#个上一篇下一篇