うーん、C言語だと

int fact(int n)
{
if (n == 0) return 1;
else return n * fact (n - 1);
}

と書くのと同じなんだけどねえ