Special factorials: Difference between revisions
Content added Content deleted
(Added Wren) |
(julia example) |
||
Line 107: | Line 107: | ||
rf(3628800) = 10 |
rf(3628800) = 10 |
||
rf(119) = f |
rf(119) = f |
||
</pre> |
|||
==((header|Julia}}== |
|||
No recursion. |
|||
<lang julia># No recursion. |
|||
superfactorial(n) = n < 1 ? 1 : mapreduce(factorial, *, 1:n) |
|||
sf(n) = superfactorial(n) |
|||
hyperfactorial(n) = n < 1 ? 1 : mapreduce(i -> i^i, *, 1:n) |
|||
H(n) = hyperfactorial(n) |
|||
alternating_factorial(n) = n < 1 ? -1 : mapreduce(i -> (-1)^(n - i) * factorial(i), +, 1:n) |
|||
af(n) = alternating_factorial(n) |
|||
exponential_factorial(n) = n < 1 ? 1 : foldl((x, y) -> y^x, 1:n) |
|||
n$(n) = exponential_factorial(n) |
|||
function reverse_factorial(n) |
|||
for i in 1:100000 |
|||
fac = factorial(typeof(n)(i)) |
|||
fac == n && return i |
|||
fac > n && break |
|||
end |
|||
return nothing |
|||
end |
|||
rf(n) = reverse_factorial(n) |
|||
println("N Superfactorial Hyperfactorial Alternating Factorial Exponential Factorial\n", "-"^88) |
|||
for n in 0:9 |
|||
print(n, " ") |
|||
for f in [sf, H, af, n$] |
|||
if n < 5 || f != n$ |
|||
print(rpad((f(n)), 25)) |
|||
end |
|||
end |
|||
println() |
|||
end |
|||
println("\nThe number of digits in n$(5) is ", length(string(n$(BigInt(5))))) |
|||
println("\n\nN Reverse Factorial\n", "-"^25) |
|||
for n in [1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 119] |
|||
println(rpad(n, 10), rf(n)) |
|||
end |
|||
</lang>{{out}} |
|||
<pre> |
|||
N Superfactorial Hyperfactorial Alternating Factorial Exponential Factorial |
|||
---------------------------------------------------------------------------------------- |
|||
0 1 1 -1 1 |
|||
1 1 1 1 1 |
|||
2 2 4 1 2 |
|||
3 12 108 5 9 |
|||
4 288 27648 19 262144 |
|||
5 34560 86400000 101 |
|||
6 24883200 4031078400000 619 |
|||
7 125411328000 3319766398771200000 4421 |
|||
8 5056584744960000 -907465429310504960 35899 |
|||
9 8705808953839190016 2649120435010011136 326981 |
|||
The number of digits in n$(5) is 183231 |
|||
N Reverse Factorial |
|||
------------------------- |
|||
1 1 |
|||
2 2 |
|||
6 3 |
|||
24 4 |
|||
120 5 |
|||
720 6 |
|||
5040 7 |
|||
40320 8 |
|||
362880 9 |
|||
3628800 10 |
|||
119 nothing |
|||
</pre> |
</pre> |
||