deblNonospammyWhammy at raqia.com
Wed Jan 23 15:57:55 EST 2002
You should be a little careful using the recursive implementation of
factorial, because limited recursion depth will make it useless for
large values of 'n'
A better non-recursive function would be:
z *= n
which has no problem doing 1200 factorial, while the recursive version
Jason Orendorff wrote:
> Nikolai Kirsebom wrote:
> > Friend of mine who used to work with lisp (and is a bit interested in
> > Python) asked me how compact I could write a program to evaluate the
> > number of possible combinations a set of characters (string) can be
> > written in - handling two identical characters as different
> > characters.
> Python's strength is not "how compact" but "how clear".
> The number you want is the factorial of the length of the string.
> import sys
> def f(n):
> if n < 2: return 1
> return n * f(n-1)
> for a in sys.argv[1:]:
> print a, f(len(a))
> ## Jason Orendorff http://www.jorendorff.com/
More information about the Python-list