Lucas Willems

LUCAS WILLEMS

Un étudiant de 21 ans passionné par les maths et la programmation

English

Project Euler 6 : solution Python

Article

Voici un résumé de l'énoncé du problème 6 "Sum square difference" du Project Euler (traduction complète en français ici) :

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

Compréhension du problème

Reformulons le problème : il nous faut trouver la différence entre la somme des carrés des 100 premiers nombres naturels et le carré de leur somme. Le plus simple, et c'est ce que j'ai fait pour résoudre ce problème, est de faire comme dit dans le problème :

Le programme

Voici l'un des programmes possible, en Python, pour résoudre ce problème :

sum_square = square_sum = 0
for i in range(1, 101):
    sum_square += i**2
    square_sum += i
square_sum = square_sum ** 2
resultat = square_sum ** 2 - sum_square
print(resultat)

ou, écrit sous une forme un peu plus condensée :

numbers = list(range(1, 101))
square_sum = sum(numbers)**2
sum_square = sum([i**2 for i in numbers])
resultat = square_sum - sum_square
print(resultat)

Pour ce problème, je ne pense pas avoir besoin de donner des explications particulières.

Le résultat

La réponse à ce problème est 25164150.

Recherche

Voici les recherches relatives à cette page :

Commentaires

Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.