递归函数进行迭代,给定g(n)= 2 * g(n-1)+ 3 * g(n-2)

时间:2019-04-25 15:40:09

标签: c recursion iteration

我需要为此递归函数编写一个迭代函数。

int funcRec(int n){
    if(n>1) {
        return 2*funcRec(n - 1) + 3*funcRec(n - 2);
    }else{
        return n;
    }
}

1 个答案:

答案 0 :(得分:-2)

尝试这个

int funcIter(int n) {  
    int value0 = 0;
    int value1 = 1;
    int res = n;

    for (int i = 2; i <= n; i++) {
        res = 2 * value1 + 3 * value0;
        value0 = value1;
        value1 = res;
    }

    return res;
}