我亏一点 - 递归
type: channel
link: https://www.000081.xyz/index.php/tag/递归/
items: JavaScript实现三目运算符、小球弹跳路程、每天吃桃子一半再吃一个总数
items: JavaScript使用递归算法实现1加到100的总和。1加到100的总和再加上能被3整除的数。1加到100的奇数和再减去能被3整除的数。

JavaScript实现三目运算符、小球弹跳路程、每天吃桃子一半再吃一个总数
type: item
date: 2022-03-15T15:12:00+00:00
description: AI摘要 本文介绍了使用JavaScript实现三个经典编程案例：利用三目运算符进行成绩等级评定；通过递归与循环算法计算小球自由落体第10次弹跳的总路程及反弹高度；以及求解猴子吃桃问题中桃子的初始总数。文中提供了详细的代码实现及运行结果。 此内容根据文章生成，仅用于文章内容的解释与总结 三目运算符：学习成绩>=90分，输出A，60-89之间输出B，60分以下输出C function tm1(s) { //如果成绩大于等于90，输出A，否则判断成绩>=60并且<=89，如果正确，输出B，否则输出C return s >= 90 ? "A" : s >= 60 && s <= 89 ? "B" : "C"; } document.write("59: " + tm1(59) + " "); document.write("85: " + tm1(85) + " "); document.write("90: " + tm1(90) + " ");输出59: C85: B90: A一个小球从100米高度自由落下，每次落地后反弹回原高度的一般，第10次小球弹跳路线共经过多少米？第十次反弹多高？ //递归法 var dq_m = 0; function tm2_1(m, s) { if (s == 1) { dq_m = m / 2; return 2 * m; } if (s == 10) { return m + tm2_1(m / 2, s - 1); } return 2 * m + tm2_1(m / 2, s - 1); } var sum = 0; sum += tm2_1(100, 10); document.write("递归法：总长：" + sum + " 高度：" + dq_m + " "); //for循环 function tm2_2(m, s) { var sz = m; for (var i = 0; i < s; i++) { if (i == s - 1) { m /= 2; return "循环法：总长：" + sz + " 高度：" + m; } sz += m; m /= 2; } } document.write(tm2_2(100, 10) + " ");输出递归法：总长：299.609375 高度：0.09765625循环法：总长：299.609375 高度：0.09765625猴子第一天摘下若干个桃子，每天吃一半后，再吃一个，直到第十天早上就剩下一个桃子，求原来总桃子个数 //递归法 function tm3_1(x, s) { if (s == 1) { return x; } return tm3_1(2 * (x + 1), s - 1); } var sum1 = 0; sum1 += tm3_1(1, 10); document.write("递归法个数：" + sum1 + " "); //循环法 function tm3_2(x, s) { for (var i = 1; i < s; i++) { x += 1; x *= 2; } return x; } document.write("循环法个数：" + tm3_2(1, 10));输出递归法个数：1534循环法个数：1534

JavaScript使用递归算法实现1加到100的总和。1加到100的总和再加上能被3整除的数。1加到100的奇数和再减去能被3整除的数。
type: item
date: 2022-03-09T02:11:00+00:00
description: AI摘要 本文介绍了如何使用JavaScript递归算法实现三种数学运算：计算1至100的总和；计算1至100的总和并累加其中能被3整除的数；计算1至100的奇数和并减去其中能被3整除的数。文中提供了相应的代码实现及运行结果。 此内容根据文章生成，仅用于文章内容的解释与总结 JavaScript使用递归算法实现1加到100的总和。1加到100的总和再加上能被3整除的数。1加到100的奇数和再减去能被3整除的数。1+2+3+......+100的和 function dg(i) { if (i == 100) { return 100; } console.log(i); return i + dg(i + 1); } var sum = 0; sum += dg(1); document.write(sum);50501+2+3+......+100的和，加上能被3整除的数 function dg(i) { if (i == 100) { return 100; } if (i % 3 == 0) { return i + i + dg(i + 1); } return i + dg(i + 1); } var sum = 0; sum += dg(1); document.write(sum);67331+2+3+......+100的奇数和，减去能被3整除的数 function dg(i) { var is_ji = true,is_3 = true; if (i % 3 != 0) { is_3 = false; } if (i % 2 == 0) { is_ji = false; } if (i == 100) { return (is_3 && is_ji) || (!is_3 && !is_ji) ? 0 : is_3 ? -i : i; } return (is_3 && is_ji) || (!is_3 && !is_ji)? dg(i + 1): is_3? dg(i + 1) - i: dg(i + 1) + i; } var sum = 0; sum += dg(1); document.write(sum);817