2 条题解

  • 0
    @ 2025-11-6 14:43:35

    这道题应该考察的递归的经典题型。第一大步解释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
    上传者