编程语言应用

首页 » 常识 » 问答 » C语言编程入门基础算法
TUhjnbcbe - 2021/1/21 18:34:00
北京什么医院治白癜风好         https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin

运用递归解决问题:

问题描述:

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,

每年年初也生一头小母牛。请编程实现在第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++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

预览时标签不可点收录于话题#个上一篇下一篇
1