]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/project-euler/039/039.factor
Harmonize spelling
[factor.git] / extra / project-euler / 039 / 039.factor
old mode 100755 (executable)
new mode 100644 (file)
index 6b56015..90dd8e7
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays kernel math math.ranges
-    namespaces project-euler.common sequences ;
+USING: arrays kernel math ranges namespaces project-euler.common
+sequences sequences.extras ;
 IN: project-euler.039
 
 ! http://projecteuler.net/index.php?section=problems&id=39
@@ -14,7 +14,7 @@ IN: project-euler.039
 
 !     {20,48,52}, {24,45,51}, {30,40,50}
 
-! For which value of p < 1000, is the number of solutions maximised?
+! For which value of p < 1000, is the number of solutions maximized?
 
 
 ! SOLUTION
@@ -37,8 +37,8 @@ SYMBOL: p-count
     p-count get length ;
 
 : adjust-p-count ( n -- )
-    max-p 1- over <range> p-count get
-    [ [ 1+ ] change-nth ] curry each ;
+    max-p 1 - over <range> p-count get
+    [ [ 1 + ] change-nth ] curry each ;
 
 : (count-perimeters) ( seq -- )
     dup sum max-p < [
@@ -56,10 +56,10 @@ PRIVATE>
 
 : euler039 ( -- answer )
     [
-        1000 count-perimeters p-count get [ supremum ] keep index
+        1000 count-perimeters p-count get arg-max
     ] with-scope ;
 
 ! [ euler039 ] 100 ave-time
 ! 1 ms ave run time - 0.37 SD (100 trials)
 
-MAIN: euler039
+SOLUTION: euler039