# [Brachylog], <s>7</s> 6 bytes By making a range and multiplying it -1 byte tanks to ovs having the idea to use the max() function ;1⌉⟦₁× ## Explanation ;1 -- If n<1, use n=1 instead (zero case) ⟦₁ -- Construct the range [1,n] × -- return the product of said range [Try it online!][TIO-range] ----- # [Brachylog], <s>10</s> 9 bytes recursion ≤1|-₁↰;?× ## Explanation --f(n): ≤1 -- if n ≤ 1: return 1 | -- else: -₁↰ -- f(n-1) ;?× -- *n [Try it online!][TIO-recursion] [Brachylog]: https://github.com/JCumin/Brachylog [TIO-range]: https://tio.run/##SypKTM6ozMlPN/r/39rwUU/no/nLHjU1Hp7@/7/p/ygA "Brachylog – Try It Online" [TIO-recursion]: https://tio.run/##SypKTM6ozMlPN/r//1HnEsMa3UdNjY/aNljbH57@/7@hwf8oAA "Brachylog – Try It Online"