首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于一个递推到迭代的去年论文问题的方法

关于一个递推到迭代的去年论文问题的方法
EN

Stack Overflow用户
提问于 2021-12-31 05:29:07
回答 1查看 27关注 0票数 0

如何将这个递归函数转换为迭代?

代码语言:javascript
运行
复制
int sum(int n) {
if (n < 1) return 1;
return sum(n - 1) * (n - 1) + n;

我能这样做吗?(见下文)

代码语言:javascript
运行
复制
int sum(int n){
    if(n<1) return 1;

    while(n >= 1){
        sum = sum(n-1) * (n-1) + n;
    }
    return sum;
}
EN

回答 1

Stack Overflow用户

发布于 2021-12-31 11:00:50

您的答案仍然是递归的。

请注意,您有一个基本情况,即n= 0。这是你的和的初始值。然后,您可以对n进行迭代,每次迭代都使用给出的和公式。那么,迭代情况如下所示:

代码语言:javascript
运行
复制
int sum_iterative (int n) {
    int sum = 1; //n = 0
    for (int i = 1; i <= n; i++) {
        sum = sum * (i-1) + i; //sum(n-1) * (n-1) + n
    }
    return sum;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70539284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档