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

Plutôt que de me goinfrer de frangipane, je me remets aux problèmes de Project Euler. C'est au tour du problème 8 d'avoir droit à son traitement en Python. Relativement trivial, du coup j'ai concocté une solution un peu trop flexible pour être honnête :)

#! /usr/bin/env python

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

def euler8(s, n):
    biggest = 0
    for i in range(n - 1, len(s)):
        prod = 1
        for j in range(0, n):
            prod = prod * int(s[i - j])
        if prod > biggest:
            biggest = prod
    return biggest

print euler8('73167176531330624919225119674426574742355349194934969835203127745\
0632623957831801698480186947885184385861560789112949495459501737958331952853208\
8055111254069874715852386305071569329096329522744304355766896648950445244523161\
7318564030987111217223831136222989342338030813533627661428280644448664523874930\
3589072962904915604407723907138105158593079608667017242712188399879790879227492\
1901699720888093776657273330010533678812202354218097512545405947522435258490771\
1670556013604839586446706324415722155397536978179778461740649551492908625693219\
7846862248283972241375657056057490261407972968652414535100474821663704844031998\
9000889524345065854122758866688116427171479924442928230863465674813919123162824\
5861786645835912456652947654568284891288314260769004224219022671055626321111109\
3705442175069416589604080719840385096245544436298123098787992724428490918884580\
1561660979191338754992005240636899125607176060588611646710940507754100225698315\
520005593572972571636269561882670428252483600823257530420752963450', 5)

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

<<< Project Euler : Solution au problème 9, en Python (2009-01-07) | Project Euler : Solution au problème 7, en Python (2009-01-05) >>>