From 4463e9f8f363d8bcdb84417f3c03ef513406d3a6 Mon Sep 17 00:00:00 2001 From: Stefan Karpinski Date: Fri, 3 Jan 2014 16:22:36 -0500 Subject: [PATCH] test/euler.jl: slightly faster euler #4 algorithm --- test/euler.jl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/euler.jl b/test/euler.jl index 90fd923f3eb14..be2d4e72df881 100644 --- a/test/euler.jl +++ b/test/euler.jl @@ -25,12 +25,15 @@ end #4: 906609 function euler4(n) m = 1 - for a=10^n-1:-1:10^(n-1), - b=10^n-1:-1:max(a,-fld(-m,a)) - p = a*b - d = digits(p) - d == reverse(d) || continue - m = max(m,p) + for a = 10^n-1:-1:10^(n-1) + for b = 10^n-1:-1:max(a,-fld(-m,a)) + p = a*b + d = digits(p) + if d == reverse(d) && p > m + m = p + b < -fld(-m,a) && break + end + end end return m end