水仙花数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永远也不可能等于你写的那串运算。