每瓶可乐只要1元,每2个空瓶可以换一个,现给你20元,问你最多能喝多少瓶?
同学给了我一个这样的题目,要我算一下!
我写了一段JS代码用来计算如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function getNumber() {
var endNum = 0;
var number = 0;
var total = document.getElementById("total").value;
var n = document.getElementById("n").value;
var result = document.getElementById("result");
if (n == 1 || n==0) {
result.innerHTML = "这也要算!";
} else {
var p = /^[0-9]+$/;
if (!p.test(n) || !p.test(total)) {
result.innerHTML = "不是数字,无法计算!";
} else {
for (var i = total; i > 0; i--) {
if (endNum % n == 0) {
i++;
endNum = 0;
}
endNum++;
number++;
}
result.innerHTML = "共" + (number-1) + "个";
}
}
}
</script>
</head>
<body>
每<input type="text" size="4" id="n">个换一个,现共有
<input type="text" size="4" id="total">个.
<input type="button" onclick="getNumber();" value="计算">
<label id="result" style="color:red;"></label>
</body>
</html>
关键的JS代码:
function getNumber() {
var endNum = 0;
var number = 0;
var total = document.getElementById("total").value;
var n = document.getElementById("n").value;
var result = document.getElementById("result");
if (n == 1 || n==0) {
result.innerHTML = "这也要算!";
} else {
var p = /^[0-9]+$/;
if (!p.test(n) || !p.test(total)) {
result.innerHTML = "不是数字,无法计算!";
} else {
for (var i = total; i > 0; i--) {
if (endNum % n == 0) {
i++;
endNum = 0;
}
endNum++;
number++;
}
result.innerHTML = "共" + (number-1) + "个";
}
}
}
截图如下:

把答案告诉我同学,结果出乎意料..........................
往下看(先自己算一下,再看!)
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
正确答案是:39+1
这多出来的1,你可以先向老板借一个,换完了后,再还人家!
呵呵!![]()
可乐换瓶算法题
本文探讨了一道经典的数学逻辑题——用特定数量的空可乐瓶换取新的可乐瓶,通过编写JavaScript代码来解决这一问题,并给出了最终的答案。
1723

被折叠的 条评论
为什么被折叠?



