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);
5050
1+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);
6733
1+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
评论 (0)