18 lines
305 B
Text
18 lines
305 B
Text
func left_fact(n) {
|
||
static cached = 0
|
||
static factorial = 1
|
||
static leftfact = 0
|
||
|
||
if (n < cached) {
|
||
cached = 0
|
||
factorial = 1
|
||
leftfact = 0
|
||
}
|
||
|
||
while (n > cached) {
|
||
leftfact += factorial
|
||
factorial *= ++cached
|
||
}
|
||
|
||
leftfact
|
||
}
|