20 lines
432 B
Text
20 lines
432 B
Text
include mpfr.e
|
|
|
|
function subfactorial(integer n)
|
|
sequence res = repeat(0,n)
|
|
mpz num = mpz_init(1)
|
|
|
|
for i=1 to n do
|
|
mpz_mul_si(num,num,i)
|
|
if mpz_odd(num) then
|
|
mpz_sub_ui(num,num,1)
|
|
else
|
|
mpz_add_ui(num,num,1)
|
|
end if
|
|
res[i] = mpz_get_str(num)
|
|
-- res[i] = mpz_init_set(num)
|
|
end for
|
|
return res
|
|
end function
|
|
|
|
?extract(subfactorial(20),tagset(9)&20)
|