function mystery(x) {
return x * mystery(x - 1);
};
mystery(5);
function mystery(x){ return x * mystery(x - 1);};
mystery(5);
5 * mystery(4);
5 * 4 * mystery(3);
5 * 4 * 3 * mystery(2);
5 * 4 * 3 * 2 * mystery(1);
5 * 4 * 3 * 2 * 1 * mystery(0);
5 * 4 * 3 * 2 * 1 * 0 * mystery(-1);
function beside(p1, p2) {
return quarter_turn_right(stack(quarter_turn_left(p2),
quarter_turn_left(p1)
)
);
}
function repeat_pattern(n, pat, pic) {
if (n === 0) {
return pic;
} else {
return pat(repeat_pattern(n-1, pat, pic));
}
}
var my_cross =
stack(beside(quarter_turn_right(rcross_bb),
turn_upside_down(rcross_bb)),
beside(rcross_bb,
quarter_turn_left(rcross_bb)));
function make_cross(p) {
return stack(beside(quarter_turn_right(p),
turn_upside_down(p)),
beside(p,
quarter_turn_left(p)));
}
var pi = 3.141592653589793;
function square(x) {
return x * x;
}
function circle_area_from_radius(r) {
return pi * square(r);
}
function circle_area_from_diameter(d) {
return circle_area_from_radius(d / 2);
}
function persian(n, pic) {
function besiden(n) {
return quarter_turn_left(
stackn(n,
quarter_turn_right(pic)));
return ...besiden;
}
function square(x) { return x * x; }
function double(x) { return x + x; }
function square(x) {
return Math.exp(double(Math.log(x)));
}
function hypotenuse(a, b) {
return Math.sqrt((a + a) * (b + b));
};
function sum_of_squares(a, b) {
return square(x) * square(y);
}
function square(x) {
return x + x;
}
function hypotenuse(a, b) {
return Math.sqrt(sum_of_squares(a,b));
};
var x = 10;
function square(x) {
return x * x;
}
function addx(y) {
return y + x;
}
var pi = 3.141592653589793;
function circle_area_from_radius(r) {
var pi = 22 / 7;
return pi * square(r);
}
function hypotenuse(a, b) {
function sum_of_squares() {
return square(a) + square(b);
}
return Math.sqrt(sum_of_squares());
};
function hypotenuse(a, b) {
function sum_of_squares() {
return square(a) + square(b);
}
return Math.sqrt(sum_of_squares());
};
function hypotenuse(a, b) {
var sum_of_squares = square(a) + square(b);
return Math.sqrt(sum_of_squares);
};
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
function abs(x) {
return (x >= 0) ? x : -x;
}
a || b
a ? true : b
a && b
a ? b : false;
n ! = n * (n - 1) * (n - 2) * ... * 1
n ! = n * (n - 1) ! if n > 1
= 1 if n === 1
n ! = n * (n - 1) ! if n > 1
= 1 if n === 1
function factorial(n) {
return n===1 ? 1 : n * factorial(n-1);
}
factorial(4)
4 * factorial(3)
4 * (3 * factorial(2))
4 * (3 * (2 * factorial(1)))
4 * (3 * (2 * 1))
4 * (3 * 2)
4 * 6
24
factorial(4)
4 * factorial(3)
4 * (3 * factorial(2))
4 * (3 * (2 * factorial(1)))
4 * (3 * (2 * 1))
4 * (3 * 2)
4 * 6
24
factorial(4)
4 * factorial(3)
4 * (3 * factorial(2))
4 * (3 * (2 * factorial(1)))
4 * (3 * (2 * 1))
4 * (3 * 2)
4 * 6
24
function stackn(n, pic) {
return (n === 1) ? pic
: stack_frac(1/n, pic, stackn(n - 1, pic));
}
}
function stackn(n, pic) {
return (n === 1) ? pic
: stack_frac(1/n, pic, stackn(n - 1, pic));
}
}
function f(n, k, f_k_minus_2, f_k_minus_1) {
return (k > n) ? f_k_minus_1
: f(n,
k + 1,
f_k_minus_1,
f_k_minus_2 + f_k_minus_1);
}
f(6,2,0,1));
function fib(n) {
return n === 0 ? 0
: n === 1 ? 1
: fib(n - 1)
+
fib(n - 2);
}
function ping(n) {
if (n === 0) {
return n;
} else {
return pong(n - 1);
}
}
function pong(n) {
if (n === 0) {
return n;
} else {
return ping(n - 1);
}
}
function f(n, k, f_k_minus_2, f_k_minus_1) {
return (k > n) ? f_k_minus_1
: f(n,
k + 1,
f_k_minus_1,
f_k_minus_2 + f_k_minus_1);
}
f(6,2,0,1));
f(6, 2 , 0, 1 )
f(6, 3 , 1, 1 )
f(6, 4 , 1, 2 )
f(6, 5 , 2, 3 )
f(6, 6, , 3, 5 )
f(6, 7, , 5, 8 )
8
/
#