July 2014

Project Euler Challenge #3 : Finding Primes

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.

def find_primes(number):
	"""Returns a set of primes"""
	primes = set()
	if number != int(number):
		raise Exception('Must be int') # Improve this
	if number < 4:
		return primes
	i = 2
	while number > 1:
		while number % i == 0:
			number = number / i
		i += 1
	return primes

In this solution, I learned some basic uses for python’s set builtin. I’m a better person today.

Project Euler Challenge #2 : Fibonacci Sums

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
	return tot

Yeah, yawn.

Project Euler Challenge #1 : Threes and Fives

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:

  1. Searching Google for answers or algorithms is not allowed.
  2. Searching Google for builtin language libraries is allowed.
  3. 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.

def euler1(n=1000):
    """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
    return s

Reclaiming the Blog

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.

Stay tuned.