首页 > 技术文章 > 卡不列克常数

ZhaoBa 2021-05-23 21:11 原文

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
  </head>
  <script type="text/javascript">
    var a=495;
    var num =parseInt(prompt("请输入一个三位数,要求三位数不能完全相同"));
    while(num != a){
      var max = getMax(num);
      var min = getMin(num);
      num = max -min;
      document.write(max+"-"+min+"="+num+"<br>");
    }

    // 重组三位数 得到最大值
    function getMax(n){
    //(1)获取 个位 十位 百位
    var g =n % 10;
    var s =Math.floor((n % 100) / 10);
    var b =Math.floor(n / 100);
    //(2)计算最大 最小 中间
    var max = Math.max(b,g,s);
    var min = Math.min(b,g,s);
    var middle = (b+g+s)-(max+min);
    //(3)重新组成3位数
    return max*100 + middle*10 +min;
    }
    //重组三位数 得到最小值
    function getMin(n){
    var g =n % 10;
    var s =Math.floor((n % 100) / 10);
    var b =Math.floor(n / 100);

    var min = Math.min(b,g,s);
    var max = Math.max(b,g,s);
    var middle = (b+g+s)-(max+min);
    return min*100 + middle*10 +max;
    }
  </script>
  <body>
  </body>
</html>

推荐阅读