29/03/2009
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)