Thursday, July 24, 2014
Finally, it gets interesting. Below is my third attempt on this problem, the first taking so long to complete that I improved it before its first iteration, and the second just wasn’t good enough.
"""Returns a set of primes"""
primes = set()
if number != int(number):
raise Exception('Must be int') # Improve this
if number < 4:
i = 2
while number > 1:
while number % i == 0:
number = number / i
i += 1
In this solution, I learned some basic uses for python’s set builtin. I’m a better person today.
Another straightforward challenge: find the sum of all even numbers in the Fibonacci sequence less than four million.
def even_fib_sum(limit = 10):
num = 2
pre = 1
tot = 2
while num < limit:
num += pre
pre = num - pre
if num % 2 == 0:
tot += num
So I’ve been trying to improve my coding technique while thinking about some fun math problems, and Project Euler will help me achieve exactly that. It’s unfortunate that they were hacked recent, so a lot of their functionality has been removed, but it will still confirm your answer.
My rules for these challenges:
- Searching Google for answers or algorithms is not allowed.
- Searching Google for builtin language libraries is allowed.
- After a solution is found, the first rule can be ignored (provided advance knowledge of future challenges is not present).
Anyway, below is Challenge #1 by me. This was pretty straightforward and brute-force, but it works. The only interesting thing I’m doing here is playing with the flexible definitions of True/False.
"""Returns the sum of all numbers that possess either three or five as factors."""
for i in range(n):
if not ((i % 3) * (i % 5)):
s += i
Old posts are embarrassing and awkward (they’ll remain for now), spam has been scrubbed out, and all that’s left is some new content.
Post-Navy me, trying to establish an identity and develop as a person.
Expect coding challenges, notes-to-self, quotes, maybe a video or two. Awesomeness.