编辑代码

#include <stdio.h>

// 递归实现
int recursiveSteps(int n) {
    if (n <= 1) {
        return 1;
    } else {
        return recursiveSteps(n - 1) + recursiveSteps(n - 2);
    }
}

// 递推实现
int iterativeSteps(int n) {
    if (n <= 1) {
        return 1;
    }

    int prev = 1, current = 1;
    for (int i = 2; i <= n; ++i) {
        int temp = current;
        current = current + prev;
        prev = temp;
    }

    return current;
}

int main() {
    int n = 5;

    // 递归调用
    int recursiveResult = recursiveSteps(n);
    printf("Recursive Steps: %d\n", recursiveResult);

    // 递推调用
    int iterativeResult = iterativeSteps(n);
    printf("Iterative Steps: %d\n", iterativeResult);

    return 0;
}