java for循环改递归_R:将while循环转换为递归

I'm trying to convert a while loop to a recursion.

我知道while循环更有效,但我试图理解如何将 for/while 循环转换为递归,并递归到 for/while/if 循环 .

my function as I'm using a while loop:

harmon_sum

n

sum

while (sum < x)

{

sum

n

}

return(n)

}

此函数采用一些数值,假设 x=2 ,并返回您需要求和的谐波和的对象数,以便创建一个比x更大的数字 . (对于x = 2,你需要总结谐波和的第一个 5 对象)

[![harmonic sum][1]][1]

**example**: `harmon_sum

n

sum

while (sum < x)

{

sum

print(sum)

n

print(n)

}

return(n)

}

> harmon_sum(x =2)

[1] 1

[1] 2

[1] 1.5

[1] 3

[1] 1.833333

[1] 4

[1] 2.083333

[1] 5

[1] 5`

my version for the recursive function:

harmon_sum2

if( x<= 0){

return(n-1)

}

else {

x

harmon_sum2(x, n+1)

}

}

这给了我错误的答案 . 我宁愿找到只有一个变量(x)的解决方案,而不是使用两个变量(x,n),但我无法想办法做到这一点 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值