aboutsummaryrefslogtreecommitdiff
path: root/docs/history/10-zc/code/examples/fact.zc
blob: 2a218b297e080f9050afb14af47b1e826ff53f93 (plain) (blame)
1
2
3
4
fn fact(n) { if (n < 2) return 1; return n * fact(n - 1); }
// prints in binary, like the old asm example
fn bin(n) { if (n > 1) bin(n >> 1); putc('0' + (n & 1)); return 0; }
fn main() { bin(fact(10)); putc(10); putn(fact(10)); putc(10); return 0; }