]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/058/058.factor
factor: trim using lists
[factor.git] / extra / project-euler / 058 / 058.factor
index 133175f2a87d9328891787e2c3509d901c848f15..a498c738399a78b325bd7634a7f48c937b955ffd 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (c) 2009 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: fry kernel math math.primes math.ranges project-euler.common sequences ;
+USING: kernel math math.primes project-euler.common ranges
+sequences ;
 IN: project-euler.058
 
 ! http://projecteuler.net/index.php?section=problems&id=58
@@ -43,13 +44,13 @@ CONSTANT: PERCENT_PRIME 0.1
 !    (n-2)² + 4(n-1) = odd squares, no need to calculate
 
 : prime-corners ( n -- m )
-    3 [1,b] swap '[ _ [ 1- * ] keep 2 - sq + prime? ] count ;
+    3 [1..b] swap '[ _ [ 1 - * ] keep 2 - sq + prime? ] count ;
 
 : total-corners ( n -- m )
-    1- 2 * ; foldable
+    1 - 2 * ; foldable
 
 : ratio-below? ( count length -- ? )
-    total-corners 1+ / PERCENT_PRIME < ;
+    total-corners 1 + / PERCENT_PRIME < ;
 
 : next-layer ( count length -- count' length' )
     2 + [ prime-corners + ] keep ;