Name: Anonymous 2007-09-14 9:02 ID:w+iUxD20
: n! ( n -- n! ) dup zero? [ drop 1 ] [ dup 1- n! * ] if ;
: ln! ( n lim -- ) over - [ dup n! . 1+ ] times drop ;
1 10 ln!
1
2
6
24
120
720
5040
40320
362880Superior.
: n! ( n -- n! ) dup zero? [ drop 1 ] [ dup 1- n! * ] if ;
: ln! ( n lim -- ) over - [ dup n! . 1+ ] times drop ;
1 10 ln!
1
2
6
24
120
720
5040
40320
362880[def] mult
[ls]a b[/ls]
[if] [equal][var]a[/var] 1[/equal]
[var]b[/var]
[add][var]b[/var] [mult][sub][var]a[/var] 1[/sub] [var]b[/var][/mult][/add]
[/if]
[/def]
[def] fact
[ls]n[/ls]
[if] [equal][var]n[/var] 0[/equal]
1
[mult][var]n[/var] [fact][sub][var]n[/var] 1[/sub][/fact][/mult]
[/if]
[/def]
[fact]6[/fact]