LUCAS WILLEMS
Un étudiant de 27 ans passionné par les maths et la programmation
Un étudiant de 27 ans passionné par les maths et la programmation
Voici un résumé de l'énoncé du problème 28 "Number spiral diagonals" du Project Euler (traduction complète en français ici) :
What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?
Reformulons le problème : il nous faut trouver la somme des nombres se trouvant sur les diagonales d'une spirale 1001x1001. Pour commencer, listons les nombres sur les diagonales d'une spirale \(7 \times 7\) qui sont :
$$1\ 3\ 5\ 7\ 9\ 13\ 17\ 21\ 25\ 31\ 37\ 43\ 49$$
Nous pouvons voir que l'écart entre les termes de 1 à 5 est de 2, que l'écart entre les termes de 5 à 9 est de 4 et que l'écart entre les termes de 9 à 13 est de 6. Nous pouvons donc conjecturer que pour une spirale \(n \times n\), nous avons \(n/2 - 1\) groupes de 4 nombres pour lesquels l'écart va de 2 à \(n-1\) avec un pas de 2.
Voici donc le programme Python que nous pouvons utiliser pour résoudre ce problème :
#Dimension de la spirale dim = 1001 resultat = n = 1 for k in range(2, dim, 2): for j in range(4): n += k resultat += n print(resultat)
La réponse à ce problème est 669171001.
Voici les recherches relatives à cette page :
Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.