math.factorials: adding reverse-factorial.

char-rename
John Benediktsson 2016-11-28 19:09:03 -08:00
parent 54feb5df6c
commit 1e2e2dc9f7
2 changed files with 9 additions and 0 deletions

View File

@ -75,3 +75,9 @@ IN: math.factorials
{ V{ 3 5 7 29 31 211 2309 2311 } }
[ 10,000 iota [ primorial-prime? ] filter ] unit-test
{ 10 } [ 3628800 reverse-factorial ] unit-test
{ 12 } [ 479001600 reverse-factorial ] unit-test
{ 3 } [ 6 reverse-factorial ] unit-test
{ 1 } [ 1 reverse-factorial ] unit-test
{ f } [ 18 reverse-factorial ] unit-test

View File

@ -118,3 +118,6 @@ PRIVATE>
: primorial-prime? ( n -- ? )
{ [ prime? ] [ 2 > ] [ [ primorial ] -prime? ] } 1&& ;
: reverse-factorial ( m -- n )
1 1 [ 2over > ] [ 1 + [ * ] keep ] while [ = ] dip and ;