Python 3.3 vs. MSDOS Basic
Serhiy Storchaka
storchaka at gmail.com
Tue Feb 19 06:13:30 EST 2013
On 18.02.13 21:13, John Immarino wrote:
> max=0
> m=0
> while m<=1000000:
> m+=1
> count=0
> n=m
> while n!=1:
> count+=1
> if n%2==0:
> n=n//2
> else:
> n=3*n+1
> if count>max:
> max=count
> num=m
> print(num,max)
Some minor tips:
1. Use range() for m iteration.
2. Instead of "if n%2==0:" use just "if n%2:".
3. Convert all you code to a function. Python is a little faster with
locals than with globals.
In sum all this tips will speedup your code about 2x.
And one big tip:
Use cashing (and recursion). This will speedup your code more than 10x.
More information about the Python-list
mailing list