【问题标题】:Nearest Divisible Number with Iteration迭代的最近整除数
【发布时间】:2019-10-08 11:52:36
【问题描述】:

我有这个代码
https://codepen.io/clickDcode/pen/jOOEQRQ

function myFunction() {
  var ans;
  var num = document.getElementById("num").value;
  var div = document.getElementById("div").value;
  var mod = (Number(num) + Number(div)) % Number(div);

  if (mod == 0)
    var ans = num;
  else
    var ans = (Number(num) + Number(div)) - Number(mod);
  document.getElementById("demo").innerHTML = ans;
}
<p>
  Divisible by:
  <input type="number" id="div" name="text2" placeholder="0">
  <p/>
  <p>
    Your Number:
    <input type="number" id="num" name="text1" placeholder="0" onchange="myFunction()">
  </p>

  <p id="demo"></p>

已经完成了获取最接近的整除数
现在,我需要像这样迭代(10)答案 示例:

可被 22 整除
你的号码:55

(Ans:最接近的更大整除数是 66)

输出必须是:

能被 22 整除
您的号码:55

66
88
110
132
154
176
198
220
242
264

(用可除数迭代数使用)

【问题讨论】:

  • 整除数 - 我已经完成了。我的问题是我在帖子中提到的迭代
  • PS:每个变量不要多次使用varans = (mod == 0) ? num : (Number(num) + Number(div)) - Number(mod);

标签: javascript iteration


【解决方案1】:

递归呢?

function ndn(d, n, i, ac) {
    if (i === 0) return ac;
    var m = n % d;
    if (m !== 0) n += d - m;
    ac.push(n);
    return ndn(d, n + d, --i, ac);
}

ndn(22, 55, 10, []);

【讨论】:

    【解决方案2】:

    function myFunction() {
      var ans = 0;
      var text = "";
    
      var num = document.getElementById("num").value;
      var div = document.getElementById("div").value;
      var mod = (Number(num) + Number(div)) % Number(div);
    
      if (mod == 0)
        var ans = num;
      else
        var ans = (Number(num) + Number(div)) - Number(mod);
    
      var init = 0;
      if (Number(ans) % Number(div) === 0) {
        text = addToText(text, ans)
        init = 1;
      }
    
      for (i = init; i < 10; i++) {
        ans = Number(ans) + Number(div);
        text = addToText(text, ans)
      }
    
      function addToText(text, ans) {
        return text + "Next TS : " + ans + "<br>";
      }
    
      document.getElementById("demo").innerHTML = text;
    
    }
    <p>
      Divisible by:
      <input type="number" id="div" name="text2" placeholder="0">
      <p/>
      <p>
        Your Number:
        <input type="number" id="num" name="text1" placeholder="0" onchange="myFunction()">
      </p>
    
      <p id="demo"></p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-16
      • 2023-04-09
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      相关资源
      最近更新 更多