【问题标题】:Recursive function to iterative, this function given g(n) = 2*g(n-1)+3*g(n-2)递归函数要迭代,这个函数给定g(n) = 2*g(n-1)+3*g(n-2)
【发布时间】:2019-09-15 02:34:46
【问题描述】:

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

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

【问题讨论】:

标签: c recursion iteration


【解决方案1】:

试试这个

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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2020-05-06
    相关资源
    最近更新 更多