19 lines
305 B
Text
19 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
|
|||
|
|
}
|