有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
* 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,
* 说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。<br>
* 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,<br>
* 说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?<br>
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
<br>
请输入人数<input type="text" id="input"> <br>
<!--在文本框内输入要查询的人-->
<button onclick="get()">计算第五人年龄</button>
<!--点击按钮开始计算-->
<br>
结果<input type="text" id="result">
<!--结果打印至该文本框-->
<script>
function get(){
//将从文本框获得的值赋给num
num=parseInt(document.getElementById("input").value)
console.log(num)
//将计算出的结果赋给文本框
document.getElementById("result").value= add(num)
}
function add(num){
//num代表第几个人
if (num==1){
//r如果是第一个人,则将第一个人的年龄十岁返回
return 10
}else {
//如果不是第一个人则方法返回的值+2,直到num为需要的第几个人的年龄
console.log("num:"+num)
return 2+(add(num-1))
}
}
</script>
</body>
</html>