Project Euler : Solution au problème 10, en Python

Dixième de sa catégorie, un problème de recherche de nombres premiers. Algorithmiquement simple, mais lourd en calculs. Voici donc une solution au problème 10 en Python.

Et je pense que je vais laisser Project Euler de coté quelques jours et m'atteler à un "vrai" programme qui fasse autre chose que chauffer mon CPU.

#! /usr/bin/env python

# 2009/01/07 - euler010.py
# Solution au Probleme 10 de Project Euler
# http://projecteuler.net/index.php?section=problems&id=10
# Jean Karim Bockstael - jkb@jkbockstael.be

def euler10(n):
    primes = [2]
    cand = 3
    while cand < n:
        i = 0
        while i < len(primes):
            if cand % primes[i] == 0:
                break
            i = i + 1
        if i == len(primes):
            primes.append(cand)
        cand = cand + 2
    sum = 0
    for i in range(0, len(primes)):
        sum = sum + primes[i]
    return sum

print euler10(2000000)

cc-by-nc | code (python) | project euler

<<< Mastermind, quick and dirty as it gets. (2009-01-08) | Project Euler : Solution au problème 9, en Python (2009-01-07) >>>