问题如下:
1000/1+1000/2+1000/3+...1000/n>=10000
请用JavaScript的递归方式,写出求最小的n的代码

解决方案 »

  1.   


    var  a = 1,
      b = 1000,
      c = 0
      while (a>0) {
        c += b/a
        if (c >= 10000) {
          console.log(a)
          break
        }
        a++
      }
    这样?
      

  2.   

    我怎么觉得应该是1000/2+1000/3+...1000/n>=10000因为1000/1+1000/2+1000/3+...1000/n>=10000 n是不可能超过2的
      

  3.   


        const getMinN = (num) => {
            let result = 0, n = 1
            while(result < num){
                result += n++/1000
            }
            return n
        }
        let minN = getMinN(10000)
        console.log(minN)
      

  4.   

        function getMin(m){
            function getSum(){
                sum += max/ ++n
                return sum < sumMax ? getSum() : 0
            }
            let max = parseInt(m,10)
            let sumMax = max * 10
            let sum = 0
            let n = 0
            getSum()
            return n
        }
        console.log(getMin(1000))
      

  5.   

    这个要用谷歌浏览器运行。ie的递归堆栈不够,会堆栈益出function getn(s,n) {
    return s>=10000 ? n : getn(s+1000/++n,n);
    }
    alert(getn(0,0));