尝试进行简单的递归练习

Trying to make a simple recursion exercise

本文关键字:递归 练习 简单      更新时间:2023-10-16

嗨,我试图创建这个函数:双谐波Sum(int n),计算并返回总和 1 + 1/2 + 1/3 + ... + 1/n

这是我的代码

double harmonicSum(int n)
{
  if(n==1) return 1;
  return (1.0/n) + (1.0/(harmonicSum(n-1)));
}

它无法正常工作.如果我调用 harmonicSum(1) 或 harmonicSum(2),它可以工作,但使用 harmonicSum(3) 没有。

正确的代码

double harmonicSum(int n){
if(n==1) return 1;
return (1.0/n) + harmonicSum(n-1);

}

simply try like below
double hermonic(int n)
{
    if(n==1)
        return 1 ;
    else
        return ( float )  1/n + hermonic(n - 1) ;
}