2 条题解
-
0
这道题应该考察的递归的经典题型。第一大步解释n是什么,n就是距离跳出去还有多少布。第二大步查看边界分别是距离还有1步的时候可以一次跳出去,距离两步的时候可以一步跳出去,距离三步的时候可以2步跳出去。第三大步从特殊到普遍,那么假如我的f(n-2)与f(n-3)是正确的来求我这一层所需要实现的逻辑,那就是我每次只能前进两步或者三步,也就意味着我每次都能距离井口能缩减两步到三步,那么只要求f(n-2)与f(n-3)就可以
int function(int n){//距离跳出去还有多少布 if (n == 0)return 0; if (n == 1)return 1; if (n == 2)return 1; if (n == 3)return 2; return function(n - 3) + function(n - 2); } int main() { int n; scanf("%d", &n); printf("%d", function(n)); return 0; }
信息
- ID
- 165
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 1611
- 已通过
- 413
- 上传者