Python is awesome (Project Euler)

Roy Smith roy at panix.com
Mon Dec 31 19:45:44 CET 2012


In article <kbsfh5$lp4$1 at dont-email.me>, "Alex" <foo at email.invalid> 
wrote:

> Yes. Although sometimes I fear that we are becoming a society of
> end-users who rely too much on the capability of our tools and fail to
> take the time to understand the fundamentals upon which those tools are
> based or cultivate the problem-solving skills that Project Euler
> appears to be trying to hone.

Over the years, my understanding of the fundamentals of computing has 
included C, assembler, microcoding, TTL logic design, transistor 
circuits, and a bit of semiconductor physics.

I could certainly build you a full-adder or a flip-flop from a pile of 
NAND gates.  I *think* I could probably cobble together a NAND gate from 
a pile of transistors (but I know I couldn't build a transistor from a 
pile of sand).  I'm very happy living at the top of the stack these days 
:-)

I guess the question is, what *is* a "fundamental"?  There's lots of 
stuff in Project Euler that is about picking the right algorithm.  
There's even a pair of problems which are exactly the same problem, 
except that one has a (much) larger data set.  You can solve the first 
with brute-force, but not the second.  Algorithms will always be 
fundamental.

But, is knowing how to do arbitrary precision arithmetic a fundamental?  
I don't think so.  Back with I started working with microprocessors, 
knowing how to do multi-precision addition was essential because you 
only had an 8-bit adder.  But those days are long gone.

There's a problem I just worked where you need to find the last 10 
digits of some million-digit prime.  Python's long ints don't help you 
there.  What does help you is figuring out a way to solve the problem 
that's not brute-force.  I think that's what Euler is all about.



More information about the Python-list mailing list