on a very slow function
Ben Bacarisse
ben.usenet at bsb.me.uk
Sun Oct 1 18:49:32 EDT 2017
Daniel Bastos <dbastos at toledo.com> writes:
> def make_sequence_non_recursive(N, x0 = 2, c = -1):
> "What's wrong with this function? It's very slow."
> last = x0
> def sequence():
> nonlocal last
> next = last
> last = last**2 + c
> return next % N
> return sequence
>
> It crawls pretty soon. Please advise?
A mathematical rather than Python answer... change it to
last = (last**2 + c) % N
return next
<snip>
--
Ben.
More information about the Python-list
mailing list