Project Euler 58
Project Euler 58
题目
Spiral primes
Starting with 1 and spiralling anticlockwise in the following way, a square spiral with side length 7 is formed.38 17 16 15 14 13 30
39 18 5 4 3 12 29
40 19 6 1 2 11 28
41 20 7 8 9 10 27
42 21 22 23 24 25 26
43 44 45 46 47 48 49
It is interesting to note that the odd squares lie along the bottom
right diagonal, but what is more interesting is that
If one complete new layer is wrapped around the spiral above, a
square spiral with side length
解决方案
这个矩阵的四个角的元素的通项公式分别是:
因此,这份代码将通过公式枚举出一个个质数,然后单独进行判断即可。
代码
1 | from tools import is_prime |