水仙花数js代码(水仙花数JavaScript)

发布时间:2023-12-08

水仙花数js代码(水仙花数JavaScript)

更新:2022-11-16 07:59

本文目录一览:

1、输入区间搜索水仙花数用javascript
2、水仙花数的判定js代码
3、用js求水仙花数的代码?
4、在javascript中怎么编写水仙花数?
5、用js,求水仙花数
6、用JS实现1000以内的水仙花数

输入区间搜索水仙花数用javascript

这个问题主要出错在你的数学公式上,不知道你这个数学计算要表达什么。基本上你点击之后都是执行到这句:

if (a*a*a + b*b*b + c*c*c !== i)

然后跳出循环。改了一下,这样是能够执行的,不过你需要完善的计算公式。 水仙花.html

<!doctype html>
<html lang="zh">
  <head>
    <meta charset="utf-8" />
    <title>水仙花</title>
  </head>
  <body>
    <form>
      请输入下区间:<input name="text" type="text" name="lownum" id="lownum" />
      请输入上区间:<input name="text" type="text" name="highnum" id="highnum" />
      <input id="btn" name="btn" type="button" value="计算" />
    </form>
    <script src="shuixianhua.js"></script>
  </body>
</html>

shuixianhua.js

window.onload = shuixianhua;
function shuixianhua() {
  var i, a, b, c, n; // 不知道你的变量 n 有什么作用
  var low_value = parseInt(document.getElementById("lownum").value);
  var high_value = parseInt(document.getElementById("highnum").value);
  var btn_node = document.getElementById("btn");
  var result_node = document.getElementById("btn");
  for (i = low_value; i <= high_value; i++) {
    a = Math.round(i / 100); // 或者 Math.floor() Math.ceil()
    b = Math.round(i % 100 / 10); // 或者 Math.floor() Math.ceil()
    c = i % 10;
    if (a * a * a + b * b * b + c * c * c !== i) {
      break;
    } else {
      btn_node.onclick = function () {
        document.write("找到第" + n + "个数:" + i);
      };
    }
  }
}

水仙花数的判定js代码

和C语言差不多吧。

var n = 1000;
var p = new Array();
var j = 0;
for (var i = 100; i < n; i++) {
  var bai = Math.round(i / 100);
  var shi = Math.round(i / 10) % 100;
  var ge = i % 10;
  if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i) {
    p[j] = i;
    j++;
  }
}
print_array(p);

用js求水仙花数的代码?

var a, b, c;
for (var i = 100; i < 1000; ++i) {
  a = i % 10;
  b = ((i / 10) % 10);
  b = parseInt(b);
  c = i / 100;
  c = parseInt(c);
  if (i == a * a * a + b * b * b + c * c * c) {
    document.write(i + "<br />");
  }
}

在javascript中怎么编写水仙花数?

<script type="text/javascript">
function fun() {
  // 取得参量位数
  var valnum = parseInt(document.frm.input.value);
  // 求得符合参量位数的最大值和最小值
  var highnum = Math.pow(10, valnum) - 1;
  var lownum = Math.pow(10, valnum - 1);
  // 输出队列的组成部分
  var output = "共有个数:", res_str = "";
  // a为i分解为数组的下脚值, num为符合规则的水仙花的个数
  var a = 0, num = 0;
  // 遍历所有符合参量位数的数
  for (i = lownum; i <= highnum; i++) {
    // res为水仙花数规则值, 即n位的数的每位数的n次幂的和, 预置为0
    var res = 0;
    // 分解出当前i的每位数并存如数组
    var new_i = i.toString().split("");
    for (a = 0; a <= valnum - 1; a++) {
      // 求得水仙花数规则值
      res = Math.pow(parseInt(new_i[a]), valnum) + res;
    }
    // 判断符合水仙花数的个数, 如符合则将水仙花数并入输出队列
    if (res == i) {
      num++;
      res_str = res_str + "<br>" + res;
    }
  }
  // 输出队列
  if (valnum < 3) {
    output = "你输入了无效位数!";
  } else {
    output = output + num + res_str;
  }
  // 输出
  document.getElementById("divnum").innerHTML = output;
}
</script>

用js,求水仙花数

for (var n = 100; n < 1000; n++) {
  var i = parseInt(n / 100);
  var j = parseInt(n / 10 % 10);
  var k = parseInt(n % 10);
  if (Math.pow(i, 3) + Math.pow(j, 3) + Math.pow(k, 3) == n) {
    document.write(n + "\t");
  }
}

以上为100~1000内的水仙花数。

用JS实现1000以内的水仙花数

var a, b, c;
for (var i = 100; i < 1000; ++i) {
  a = i % 10;
  b = ((i / 10) % 10);
  b = parseInt(b);
  c = i / 100;
  c = parseInt(c);
  if (i == a * a * a + b * b * b + c * c * c) {
    document.write(i + "<br />");
  }
}

你的算法不对,i永远也不可能等于你写的那串运算。