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