Julia - 17
!n=n>1?n*!(n-1):1
This defines !n as !(n-1)*n if n>1, 1 otherwise. To make it work with big numbers you just need to make "n" a BigInt type (build in Julia).
And if its permitedpermitted (13 chars.):
!n=gamma(n+1)
with gamma equals to:
In the particular case that z its an integer the gamma function would be equal to:
Like its not a build in factorial it must not break the rules, but Im not posting it as solution just in case it does.