再帰メソッドアプリケーション
会社の収入問題
2009年の売上高は100億元、年間成長率を25%とすると、同社の売上高は500億元になります。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//2009年收入100亿元,假定每年增长25%,到哪一年公司收入500亿
var year=2009;
var sums=100;
while (sums<500){
//当营业额小于500进入循环
sums*=1.25;//25%增长 简化前的公式sums=suns*1.25
year++;//年份+1
}
document.write(year+"年收入为"+sums+"超过500亿元");
</script>
</body>
</html>
桃を食べる猿の問題
タスク:サルは桃を食べる問題:サルは初日にいくつかの桃を拾い、すぐに半分を食べましたが、中毒ではなく、もう1つ食べました。翌朝、残りの桃の半分を食べ、もう一匹桃を食べました。その後、毎朝、前日の半分と残り半分を食べました。7日目の朝にまた食べたいと思ったら、桃が1つしか残っていないのがわかりました。初日に何人が選ばれましたか?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--(1)、任务:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上
都吃了前一天剩下 的一半零一个。到第7天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少?-->
<script type="text/javascript">
//第七天1个
//第六天x6=(1+1)*2
//第五天x5=(x6+1)*2
//S(n-1)=2*(Sn+1)
var x = 1; //第七天
for(var i = 1; i < 7; i++) {
x = (x + 1) * 2; //第六天
}
document.write(x);
</script>
</body>
</html>
自由落下のボール
100メートルの高さから自由に落下し、落下するたびに元の高さの半分に跳ね返り、次に再び落下して、10回目のリバウンドの高さを見つけます
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--从100米高度自由落下,每次落体后反跳回原来高度的一半,再落下,求它第10次反弹的高度-->
<script type="text/javascript">
//h=100
//100/2第一次落下又弹起的高度 h=h/2
//100/2^2第二次落下又弹起的高度 h=h/2
//100/2^3第三次落下又弹起的高度
//100/2^10第十次落下又弹起的高度
var h=100;//初始值
for (var i=1;i<=10;i++) {
h=h/2
if (i==10) {
document.write("第10次反弹的高度:"+h);
}
}
</script>
</body>
</html>
数列
法則は1、1、2、3、5、8、13、21で、最初の15個の数値を出力します
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--规律为1,1,2,3,5,8,13,21输出前十五个数-->
<!--第一个数=1-->
<!--第二个数=第一个+0-->
<!--第三个数=第二个+第一个-->
<!--第四个数=第三个+第二个-->
<script type="text/javascript">
var m = 1; //初始值
var x = 0;
for(var i = 0; i < 8; i++) {
m = m + x;
x = m + x;
document.write(m + "<br />" + x + "<br />");
}
</script>
</body>
</html>