[Tutor] Is there a better way to do this? (original) (raw)
Vijay Kumar Bagavath Singh vijaykumar at linuxmail.org
Thu Jul 22 20:10:51 CEST 2004
- Previous message: [Tutor] Tkinter / Variable passing
- Next message: [Tutor] Is there a better way to do this?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
jb wrote:
> > c = 1 > for p0 in range(0, 7): > for p1 in range(1, 12): > for p2 in range(2, 12): > for p3 in range(3, 12): > for p4 in range(4, 12): > for p5 in range(5, 12): > if p0 < p1 < p2 < p3 < p4 < p5:_ _> print repr(c).rjust(3), "\t", > print "%X %X %X %X %X %X" % (p0, p1, p2, p3, p4, p5) > c += 1 > print "...Done" > > This works, except that it's very slow. I need to get it up to > nine-digit numbers, in which case it's significantly slower. I was > wondering if there is a more efficient way to do this. >
this version is a bit quicker: c = 1 for p0 in range(0, 7): for p1 in range(p0+1, 12): for p2 in range(p1+1, 12): for p3 in range(p2+1, 12): for p4 in range(p3+1, 12): for p5 in range(p4+1, 12): print repr(c).rjust(3), "\t", print "%X %X %X %X %X %X" % (p0, p1, p2, p3, p4, p5) c += 1 print "...Done"
That was a really great improvement. The following code acheives a little more improvement.
c = 1 r = tuple([tuple(range(i, 12)) for i in range(0, 13)]) for p0 in range(0, 7): for p1 in r[p0+1]: for p2 in r[p1+1]: for p3 in r[p2+1]: for p4 in r[p3+1]: for p5 in r[p4+1]: if p0 < p1 < p2 < p3 < p4 < p5: print repr(c).rjust(3), "\t", print "%X %X %X %X %X %X" % (p0, p1, p2, p3, p4, p5) c += 1 print "...Done"
Vijay
Check out the latest SMS services @ http://www.linuxmail.org This allows you to send and receive SMS through your mailbox.
Powered by Outblaze
- Previous message: [Tutor] Tkinter / Variable passing
- Next message: [Tutor] Is there a better way to do this?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]