<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          js實現(xiàn)sqrt開方函數(shù)(二分法)

          共 1191字,需瀏覽 3分鐘

           ·

          2021-07-29 12:35


          每次取一半的數(shù)和當前值做對比,如果比當前值大:下次的起始值不變,末尾值減一半(起始值與末尾值的和的一半);如果比當前值小:下次的起始值加一半(起始值與末尾值的和的一半),末尾值不變;直到起始值與末尾值的差值在指定范圍內(nèi)才結束,注意由于浮點數(shù)計算問題需要阻止死循環(huán)的情況(“起始值與末尾值的和的一半”與原來的值仍舊相同)


          如1000:第一次的值為(0,1000)

          1、 500*500        >1000  下一次用(0,500)2、 250*250     >1000  下一次用(0,250)3、 125*125              >1000        下一次用  (0,125)4、 62.5*62.5            >1000        下一次用  (0,62.5)5、 31.25*31.25        <1000        下一次用  (31.25,62.5)6、 46.875*46.875   >1000         下一次用  (31.25,46.875)
          function sqrt(num) {  function sqrtWrapper(min, max) {    let current = (min + max) / 2;    let nextMin = min, nextMax = max;    if (current * current > num) {      nextMax = current;    } else {      nextMin = current;    }    if (min === nextMin && max === nextMax) {      return current    }    else if (nextMax - nextMin < Number.EPSILON) {      return current;    } else {      return sqrtWrapper(nextMin, nextMax);    }  }  return sqrtWrapper(0, num);}console.time();console.log(sqrt(3));console.timeEnd();


          ES6 在 Number 對象上面,新增一個極小的常量Number.EPSILON。根據(jù)規(guī)格,它表示 1 與大于 1 的最小浮點數(shù)之間的差


          瀏覽 35
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲欧美高清国产精品 | 大香焦av | 淫秽视频在线免费观看 | 国产乱伦免费 | 伊人久久精品 |