原题链接:[递归]母牛的故事
解题思路:
本体乍一看,跟斐波那契解体思路一样,但是,存在着些许差别,区别在于:斐波那契额数列相加的是前两项,而本题却不同,根据规律显示,本题相加的是第n-1项和第n-3项。
注意事项:
很郁闷,这个解法在dev,运行完全正确,但是在网页提交却是答案错误。并非运行时间超时,也并非代码超长。
参考代码:
//代码正确,却在网页未通过
#include <iostream> using namespace std; int main(){ int a[1001]={0,1,2,3,4},b[1001]; int n,i; for(i=1;n!=0;i++){ cin>>n; b[i]=n; } for(i=1;b[i]!=0;i++){ if(b[i]>=5) a[b[i]]=a[b[i]-1]+a[b[i]-3]; cout<<a[b[i]]<<endl; } return 0; }
//AC代码:
#include <iostream> using namespace std; int main(int argc, char** argv) { int n,i; int f[56]={0,1,2,3}; for(i=4;i<56;i++){ f[i]=f[i-1]+f[i-3]; } while(cin>>n&&n!=0){ cout<<f[n]<<endl; } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复