c++ - 尝试做一个简单的递归练习

标签 c++ c function recursion

您好,我正在尝试创建此功能: double harmonicSum(int n) 计算并返回总和 1 + ½ + 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) ;
}

关于c++ - 尝试做一个简单的递归练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36835477/

相关文章:

具有不同参数的 C++ std::function 变量

c++ - std::multimap 获取两个范围

c++ - .c 程序不需要包含 header ,但 .cpp 程序需要包含 header

c# - 从统一命名空间中的另一个类(在克隆对象上)获取一个函数,c#

JavaScript 无法读取 function() 中的变量

c++ - 插入以设置为 "Fixed"大小循环

c++ - 关于头文件C++中的类声明

c - 对具有大量元素的数组进行排序时发出 SIGSEGV 信号

c - C 中的 mathgl 和单字母变量名

python - 有没有办法找出哪个 Python 方法可以引发哪个异常或错误