做特卖的网站有哪些/bt种子搜索
原题目
思路:就模仿的斐波那契数列 小孩每次吃糖都有两种选择 吃一块或者吃两块 最后递归边界就是剩下一块还是剩下两块
其实本身题目是简单的 但是不知道为什么c++过不了 换个头文件c能过
#include <stdio.h>
int Eat(int n)
{if(n==1) return 1;else if(n==2) return 2;else return Eat(n-1)+Eat(n-2);}
int main()
{int n;//scanf("%d",&n);while(scanf("%d",&n)!=EOF){printf("%d\n",Eat(n));}return 0;
}
看了一下广大网友的写法 我的好像叫递推这个叫递归 还是利用小孩的吃法进行递归 主要就是注意因为需要通过多组测试数据 记得每次清零就好
#include <cstdio>
int count=0;
void Eat(int n)
{if(n==1){count++;}else if(n==2){Eat(n-1);count++;}else{Eat(n-1);Eat(n-2);}}
int main()
{int n;//scanf("%d",&n);while(scanf("%d",&n)!=EOF){count=0;//这里很重要 每次又要清零Eat(n);printf("%d\n",count);}return 0;
}
补充知识:全局局部变量 相关知识点
知识点链接