diff --git a/extra/project-euler/027/027.factor b/extra/project-euler/027/027.factor index 3ce684549a..c208caaf9e 100644 --- a/extra/project-euler/027/027.factor +++ b/extra/project-euler/027/027.factor @@ -38,7 +38,10 @@ IN: project-euler.027 ! b must be prime since n = 0 must return a prime ! a + b + 1 must be prime since n = 1 must return a prime -! a < b +! 1 - a + b must be prime as well, hence >= 2. Therefore: +! 1 - a + b >= 2 +! b - a >= 1 +! a < b (2n + 1)² from 0 .. n +! se -> (4 * n²) - (10 * n) + 7 from 1 .. n +! sw -> (4 * n²) + 1 from 0 .. n +! nw -> (4 * n²) - (6 * n) + 3 from 1 .. n + + + +: euler028 ( -- answer ) + 1001 spiral-diags ; + +! [ euler027 ] 100 ave-time +! 0 ms run / 0 ms GC ave time - 100 trials + +MAIN: euler028 diff --git a/extra/project-euler/project-euler.factor b/extra/project-euler/project-euler.factor index 8ff3b9da88..812a010042 100644 --- a/extra/project-euler/project-euler.factor +++ b/extra/project-euler/project-euler.factor @@ -8,8 +8,9 @@ USING: definitions io io.files kernel math.parser sequences vocabs project-euler.013 project-euler.014 project-euler.015 project-euler.016 project-euler.017 project-euler.018 project-euler.019 project-euler.020 project-euler.021 project-euler.022 project-euler.023 project-euler.024 - project-euler.025 project-euler.026 project-euler.027 project-euler.067 - project-euler.134 project-euler.169 project-euler.173 project-euler.175 ; + project-euler.025 project-euler.026 project-euler.027 project-euler.028 + project-euler.067 project-euler.134 project-euler.169 project-euler.173 + project-euler.175 ; IN: project-euler