编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数求1+1/3+...+1/n 循环和递归

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数求1+1/3+…+1/n 循环和递归

循环

function fn(n){
    if(n%2 ===0){
        // 如果n跟2取余等于零
        var sum = 0;
        // 一个计数器
        for(var i=2; i<=n;i+=2){
            // 输入的偶数起始是2 每次循环都要加2
        sum +=1/i;
            // 每次的几分之一相累加
        }
        return sum;
            // 循环结束输出sum 累加的值
    }else{
        var sum = 0;
             // 如果n跟1取余等于零
        for(var i=1;i<=n;i+=2){
            // 输入的偶数起始是1 每次循环都要加2
        sum += 1/i
        // 每次的几分之一相累加
        }
        return sum;
        // 循环结束输出sum 累加的值
    }
}
console.log(fn(3));

递归

function fn(n){
    if(n===1 || n===2){
        // 如果 n===1 或 n ===2 
        return 1/n;
        // 则输出1/n不相等就继续往下
    }
    return fn(n-2) + 1/n;
        // 输出fn(n-2) + 1/n 因为fn(n-2)是参数所以要继续执行一直到输出retun=1 相加结束
}
 console.log(fn(3))

猜你喜欢

转载自blog.csdn.net/qq_26705343/article/details/111477724