Project Euler : solution au problème 48, en Python

Effectivement, quand on demande à avoir la liste des problèmes par ordre croissant de difficulté, on remarque vite que certains sont d'une brutalité basique à la limite du criminel. Ajouté à un langage s'en sortant très bien avec les grands nombres et un processeur vieillissant mais pas tout à fait obsolète, et vive la force brute!

Le problème 48 demande les dix derniers chiffres de la somme des 1000 premiers entiers élevés à leur propre puissance, soit: 1^1 + 2^2 + 3^3 + ... + 1000^1000

Résultat en une demi-seconde...

#! /usr/bin/env python

# 2009/03/29 - euler048.py
# Solution au Probleme 48 de Project Euler
# http://projecteuler.net/index.php?section=problems&id=48
# Jean Karim Bockstael - jkb@jkbockstael.be
def euler48(n):
    sum = 0
    for i in range(1, n + 1):
        sum = sum + (i ** i)
    return str(sum)[-10:]

print euler48(1000)

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

<<< Project Euler : solution au problème 21, en Python (2009-03-30) | Project Euler : solution au problème 25, en Python (2009-03-26) >>>