]> gitweb.factorcode.org Git - factor.git/commitdiff
Project Euler solutions had MAIN: words which would leave values on the stack; add...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 19 Mar 2009 04:05:32 +0000 (23:05 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 19 Mar 2009 04:05:32 +0000 (23:05 -0500)
81 files changed:
extra/project-euler/001/001.factor
extra/project-euler/002/002.factor
extra/project-euler/003/003.factor
extra/project-euler/004/004.factor
extra/project-euler/005/005.factor
extra/project-euler/006/006.factor
extra/project-euler/007/007.factor
extra/project-euler/008/008.factor
extra/project-euler/009/009.factor
extra/project-euler/010/010.factor
extra/project-euler/011/011.factor
extra/project-euler/012/012.factor
extra/project-euler/013/013.factor
extra/project-euler/014/014.factor
extra/project-euler/015/015.factor
extra/project-euler/016/016.factor
extra/project-euler/017/017.factor
extra/project-euler/018/018.factor
extra/project-euler/019/019.factor
extra/project-euler/020/020.factor
extra/project-euler/021/021.factor
extra/project-euler/022/022.factor
extra/project-euler/023/023.factor
extra/project-euler/024/024.factor
extra/project-euler/025/025.factor
extra/project-euler/026/026.factor
extra/project-euler/027/027.factor
extra/project-euler/028/028.factor
extra/project-euler/029/029.factor
extra/project-euler/030/030.factor
extra/project-euler/031/031.factor
extra/project-euler/032/032.factor
extra/project-euler/033/033.factor
extra/project-euler/034/034.factor
extra/project-euler/035/035.factor
extra/project-euler/036/036.factor
extra/project-euler/037/037.factor
extra/project-euler/038/038.factor
extra/project-euler/039/039.factor
extra/project-euler/040/040.factor
extra/project-euler/041/041.factor
extra/project-euler/042/042.factor
extra/project-euler/043/043.factor
extra/project-euler/044/044.factor
extra/project-euler/045/045.factor
extra/project-euler/046/046.factor
extra/project-euler/047/047.factor
extra/project-euler/048/048.factor
extra/project-euler/050/050.factor
extra/project-euler/052/052.factor
extra/project-euler/053/053.factor
extra/project-euler/055/055.factor
extra/project-euler/056/056.factor
extra/project-euler/057/057.factor
extra/project-euler/059/059.factor
extra/project-euler/067/067.factor
extra/project-euler/071/071.factor
extra/project-euler/073/073.factor
extra/project-euler/075/075.factor
extra/project-euler/076/076.factor
extra/project-euler/079/079.factor
extra/project-euler/092/092.factor
extra/project-euler/097/097.factor
extra/project-euler/099/099.factor
extra/project-euler/100/100.factor
extra/project-euler/116/116.factor
extra/project-euler/117/117.factor
extra/project-euler/134/134.factor
extra/project-euler/148/148.factor
extra/project-euler/150/150.factor
extra/project-euler/151/151.factor
extra/project-euler/164/164.factor
extra/project-euler/169/169.factor
extra/project-euler/173/173.factor
extra/project-euler/175/175.factor
extra/project-euler/186/186.factor
extra/project-euler/190/190.factor
extra/project-euler/203/203.factor
extra/project-euler/215/215.factor
extra/project-euler/common/common.factor
extra/project-euler/project-euler.factor

index 1e49be9a608d38038a1a8c57a7641dda8e8b73a4..de4345db689e8f3dfc5b5b395c007a46c20f5042 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.ranges sequences ;
+USING: kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.001
 
 ! http://projecteuler.net/index.php?section=problems&id=1
@@ -51,4 +51,4 @@ PRIVATE>
 ! [ euler001b ] 100 ave-time
 ! 0 ms run / 0 ms GC ave time - 100 trials
 
-MAIN: euler001
+SOLUTION: euler001
index 136ebbb6da79a76d64d08d6517072b890aaae7c8..9995e434e7cec04337409aa2c633f36f757e71b3 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer, Alexander Solovyov, Vishal Talwar.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math sequences ;
+USING: kernel math sequences project-euler.common ;
 IN: project-euler.002
 
 ! http://projecteuler.net/index.php?section=problems&id=2
@@ -77,4 +77,4 @@ PRIVATE>
 ! [ euler002b ] 100 ave-time
 ! 0 ms ave run time - 0.0 SD (100 trials)
 
-MAIN: euler002b
+SOLUTION: euler002b
index 09374bcee302d26c26b4e01bc00e5a5460e25a40..36dc862de68eb66e0645d36e7d80ddc4ca8dec90 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: math.primes.factors sequences ;
+USING: math.primes.factors sequences project-euler.common ;
 IN: project-euler.003
 
 ! http://projecteuler.net/index.php?section=problems&id=3
@@ -22,4 +22,4 @@ IN: project-euler.003
 ! [ euler003 ] 100 ave-time
 ! 1 ms ave run time - 0.49 SD (100 trials)
 
-MAIN: euler003
+SOLUTION: euler003
index e1918f5fa6b5fb92b1a6f36e01b5852ac5a2584b..ff62b4e18151485d8d263f498063dfb35de497f3 100644 (file)
@@ -34,4 +34,4 @@ PRIVATE>
 ! [ euler004 ] 100 ave-time
 ! 1164 ms ave run time - 39.35 SD (100 trials)
 
-MAIN: euler004
+SOLUTION: euler004
index 8b446f237628f8545c1e1454ea0b1c5f7b071c8c..7fef29a6b9d73be55a9c70923485db6c50df537e 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: math math.functions sequences ;
+USING: math math.functions sequences project-euler.common ;
 IN: project-euler.005
 
 ! http://projecteuler.net/index.php?section=problems&id=5
@@ -23,4 +23,4 @@ IN: project-euler.005
 ! [ euler005 ] 100 ave-time
 ! 0 ms ave run time - 0.14 SD (100 trials)
 
-MAIN: euler005
+SOLUTION: euler005
index 21493536583ae4a4287c602adde37f9e645e78df..00a5c447713e87b36b3d46c8828ba8209e481777 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.ranges sequences ;
+USING: kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.006
 
 ! http://projecteuler.net/index.php?section=problems&id=6
@@ -40,4 +40,4 @@ PRIVATE>
 ! [ euler006 ] 100 ave-time
 ! 0 ms ave run time - 0.24 SD (100 trials)
 
-MAIN: euler006
+SOLUTION: euler006
index f40108e4d7105ff2b98453d4a07c2ba7da61f978..f9208e11b3a7fb3a613ceca976a9efe018cb3901 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: lists math math.primes.lists ;
+USING: lists math math.primes.lists project-euler.common ;
 IN: project-euler.007
 
 ! http://projecteuler.net/index.php?section=problems&id=7
@@ -26,4 +26,4 @@ IN: project-euler.007
 ! [ euler007 ] 100 ave-time
 ! 5 ms ave run time - 1.13 SD (100 trials)
 
-MAIN: euler007
+SOLUTION: euler007
index 1e8dade646d603ff2460d6c879ba7572f8b2889c..dcc669b125be518c03482baa1e3edb53f4faf2c4 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: grouping math.order math.parser sequences ;
+USING: grouping math.order math.parser sequences project-euler.common ;
 IN: project-euler.008
 
 ! http://projecteuler.net/index.php?section=problems&id=8
@@ -69,4 +69,4 @@ PRIVATE>
 ! [ euler008 ] 100 ave-time
 ! 2 ms ave run time - 0.79 SD (100 trials)
 
-MAIN: euler008
+SOLUTION: euler008
index a1040d2bf2687a6a5f4c33008fada47acd97619e..f75950520d810b60efc29aa80a73eff96f266cbe 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel make math sequences sorting ;
+USING: kernel make math sequences sorting project-euler.common ;
 IN: project-euler.009
 
 ! http://projecteuler.net/index.php?section=problems&id=9
@@ -50,4 +50,4 @@ PRIVATE>
 ! [ euler009 ] 100 ave-time
 ! 1 ms ave run time - 0.73 SD (100 trials)
 
-MAIN: euler009
+SOLUTION: euler009
index 593f9cc0e898fc6dd19e09c907a8708bd49253ab..648699e1dbd0a9c9405709769fdae5501515f816 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer, Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: math.primes sequences ;
+USING: math.primes sequences project-euler.common ;
 IN: project-euler.010
 
 ! http://projecteuler.net/index.php?section=problems&id=10
@@ -22,4 +22,4 @@ IN: project-euler.010
 ! [ euler010 ] 100 ave-time
 ! 15 ms ave run time - 0.41 SD (100 trials)
 
-MAIN: euler010
+SOLUTION: euler010
index 122eec2c2e6904c1dfc6a9cf7fb38b98e0d6aea0..9d98ac67668817bbf2cdc514fdcabaaa2dfd602f 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: grouping kernel make math.order sequences ;
+USING: grouping kernel make math.order sequences project-euler.common ;
 IN: project-euler.011
 
 ! http://projecteuler.net/index.php?section=problems&id=11
@@ -101,4 +101,4 @@ PRIVATE>
 ! [ euler011 ] 100 ave-time
 ! 3 ms ave run time - 0.77 SD (100 trials)
 
-MAIN: euler011
+SOLUTION: euler011
index ff482c6812ca3a7cd154a9afeeac06c6d29d79d8..d2679f6309eade32c9880dc7bbb410cf5f388a07 100644 (file)
@@ -39,4 +39,4 @@ IN: project-euler.012
 ! [ euler012 ] 10 ave-time
 ! 6573 ms ave run time - 346.27 SD (10 trials)
 
-MAIN: euler012
+SOLUTION: euler012
index 857bd62cc40c7bce093c8796396a8c3b73aa282b..25aad2d749223f1d86d06f72f8b90a3e34d4e7f6 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: math.parser sequences ;
+USING: math.parser sequences project-euler.common ;
 IN: project-euler.013
 
 ! http://projecteuler.net/index.php?section=problems&id=13
@@ -230,4 +230,4 @@ PRIVATE>
 ! [ euler013 ] 100 ave-time
 ! 0 ms ave run time - 0.31 SD (100 trials)
 
-MAIN: euler013
+SOLUTION: euler013
index e93e3d11bc803019d601fc4844cc3cd8a3c05ced..a9a8dbce3f16fd7682dc46718dc6ace7b19e0a30 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: combinators.short-circuit kernel make math math.ranges sequences ;
+USING: combinators.short-circuit kernel make math math.ranges
+sequences project-euler.common ;
 IN: project-euler.014
 
 ! http://projecteuler.net/index.php?section=problems&id=14
@@ -72,4 +73,4 @@ PRIVATE>
 
 ! TODO: try using memoization
 
-MAIN: euler014a
+SOLUTION: euler014a
index fb720c7e7c76545484921e6d267ee9f4e0ad6b72..03823deab41d378e5ffa0a79dcd96bcb7db3c775 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.combinatorics ;
+USING: kernel math math.combinatorics project-euler.common ;
 IN: project-euler.015
 
 ! http://projecteuler.net/index.php?section=problems&id=15
@@ -30,4 +30,4 @@ PRIVATE>
 ! [ euler015 ] 100 ave-time
 ! 0 ms ave run time - 0.2 SD (100 trials)
 
-MAIN: euler015
+SOLUTION: euler015
index 216fcb3523382cd33d62ffd72f7ad1911aafbaa2..b81619b980df6bcd3b75038c31e00b9dc2b9bfb0 100644 (file)
@@ -22,4 +22,4 @@ IN: project-euler.016
 ! [ euler016 ] 100 ave-time
 ! 0 ms ave run time - 0.67 SD (100 trials)
 
-MAIN: euler016
+SOLUTION: euler016
index 21e277da00455db69539965a2a0b1d6969288d45..53513691ff795147030153c9568818e9042a7d0e 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (c) 2007, 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: ascii kernel math.ranges math.text.english sequences ;
+USING: ascii kernel math.ranges math.text.english sequences
+project-euler.common ;
 IN: project-euler.017
 
 ! http://projecteuler.net/index.php?section=problems&id=17
@@ -28,4 +29,4 @@ IN: project-euler.017
 ! [ euler017 ] 100 ave-time
 ! 15 ms ave run time - 1.71 SD (100 trials)
 
-MAIN: euler017
+SOLUTION: euler017
index 21831b90d49b1217735a9f183dc2dd726757e231..a4aded7096c28bac286382f637e15a3f9065b5a2 100644 (file)
@@ -86,4 +86,4 @@ PRIVATE>
 ! [ euler018a ] 100 ave-time
 ! 0 ms ave run time - 0.39 SD (100 trials)
 
-MAIN: euler018a
+SOLUTION: euler018a
index 4b750ac1805bb11aa9e7b3323e802be8276cd03e..fc9cdacad794ee00615395fef42884e1dff3c297 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2007 Samuel Tardieu, Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: calendar combinators kernel math math.ranges namespaces sequences
-    math.order ;
+    math.order project-euler.common ;
 IN: project-euler.019
 
 ! http://projecteuler.net/index.php?section=problems&id=19
@@ -63,4 +63,4 @@ PRIVATE>
 ! [ euler019a ] 100 ave-time
 ! 17 ms ave run time - 2.13 SD (100 trials)
 
-MAIN: euler019
+SOLUTION: euler019
index e75747b57c80dd3d70a5e68015c615e76ff31c31..85aeebb5adc1c5d95282c13b79c4999b0a5eaef0 100644 (file)
@@ -22,4 +22,4 @@ IN: project-euler.020
 ! [ euler020 ] 100 ave-time
 ! 0 ms ave run time - 0.55 (100 trials)
 
-MAIN: euler020
+SOLUTION: euler020
index 55060a7c71aeb442004aede598864f58921fb047..0401aad9be97579003073d1cf2887543989869ef 100644 (file)
@@ -35,4 +35,4 @@ IN: project-euler.021
 ! [ euler021 ] 100 ave-time
 ! 335 ms ave run time - 18.63 SD (100 trials)
 
-MAIN: euler021
+SOLUTION: euler021
index a12838406ab6d8f9fe973d3ab6b4fa03eaff7c12..1b675d41c47333ff9171c85a652ae12ca873b70a 100644 (file)
@@ -42,4 +42,4 @@ PRIVATE>
 ! [ euler022 ] 100 ave-time
 ! 74 ms ave run time - 5.13 SD (100 trials)
 
-MAIN: euler022
+SOLUTION: euler022
index 80aa40f449bbe9f8d61bd66a12dda1a6722ef887..7c28ebfa6cd9aacac09ac74c6e9c6e47bf91e85d 100644 (file)
@@ -58,4 +58,4 @@ PRIVATE>
 ! [ euler023 ] time
 ! 52780 ms run / 3839 ms GC
 
-MAIN: euler023
+SOLUTION: euler023
index c10ce418c4e471cefe8b7730c7a7ae18ce82a1ea..f6b4d497c070ae45150178a0166e5b42e1c09717 100755 (executable)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math.combinatorics math.parser ;
+USING: kernel math.combinatorics math.parser project-euler.common ;
 IN: project-euler.024
 
 ! http://projecteuler.net/index.php?section=problems&id=24
@@ -28,4 +28,4 @@ IN: project-euler.024
 ! [ euler024 ] 100 ave-time
 ! 0 ms ave run time - 0.27 SD (100 trials)
 
-MAIN: euler024
+SOLUTION: euler024
index a2934c23c71f8c5771e07c7e3c41e3b8369d3863..80a933dc63a74a106aca65fbd1dcdf2b7a4e4188 100644 (file)
@@ -78,4 +78,4 @@ PRIVATE>
 ! [ euler025a ] 100 ave-time
 ! 0 ms ave run time - 0.17 SD (100 trials)
 
-MAIN: euler025a
+SOLUTION: euler025a
index cf30d0ee4288a8793a9663bc96a1b4ac87c59ffd..8e0cf37fa2724b6ad466989052747d93c0d6812e 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions math.primes math.ranges sequences ;
+USING: kernel math math.functions math.primes math.ranges sequences project-euler.common ;
 IN: project-euler.026
 
 ! http://projecteuler.net/index.php?section=problems&id=26
@@ -68,4 +68,4 @@ PRIVATE>
 ! [ euler026 ] 100 ave-time
 ! 290 ms ave run time - 19.2 SD (100 trials)
 
-MAIN: euler026
+SOLUTION: euler026
index 5bf753074e4c05295e39f9ad4dd5d7d7d85d98ca..4bcfb66a9405d73726179abfbca50f8d673c20ee 100644 (file)
@@ -1,6 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.primes project-euler.common sequences ;
+USING: kernel math math.primes project-euler.common sequences
+project-euler.common ;
 IN: project-euler.027
 
 ! http://projecteuler.net/index.php?section=problems&id=27
@@ -72,4 +73,4 @@ PRIVATE>
 
 ! TODO: generalize max-consecutive/max-product (from #26) into a new word
 
-MAIN: euler027
+SOLUTION: euler027
index cd359c70a9bbadde9b0c124d2d5724cbc7bfd7ea..6dc284f802150b8dac480874ef51592b4fc1bb23 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.ranges sequences ;
+USING: kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.028
 
 ! http://projecteuler.net/index.php?section=problems&id=28
@@ -43,4 +43,4 @@ PRIVATE>
 ! [ euler028 ] 100 ave-time
 ! 0 ms ave run time - 0.39 SD (100 trials)
 
-MAIN: euler028
+SOLUTION: euler028
index 2586e6182ae4c9eaaf18eab6a4a0c0ee336b2e4c..73773e1887d146ab5e83b77e0883b64e03d0cb75 100644 (file)
@@ -34,4 +34,4 @@ IN: project-euler.029
 ! [ euler029 ] 100 ave-time
 ! 704 ms ave run time - 28.07 SD (100 trials)
 
-MAIN: euler029
+SOLUTION: euler029
index 63693f96d8a38f2119e9cf475f2432a5701083d5..54d48660d5af251e7caf7124892f12c0bebd9122 100644 (file)
@@ -43,4 +43,4 @@ PRIVATE>
 ! [ euler030 ] 100 ave-time
 ! 1700 ms ave run time - 64.84 SD (100 trials)
 
-MAIN: euler030
+SOLUTION: euler030
index 1b6d1c83eb26a75eb1b2f61c283d6b619189951d..f5648721498d301199f572c877efe6988df542f3 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math ;
+USING: kernel math project-euler.common ;
 IN: project-euler.031
 
 ! http://projecteuler.net/index.php?section=problems&id=31
@@ -60,4 +60,4 @@ PRIVATE>
 
 ! TODO: generalize to eliminate duplication; use a sequence to specify denominations?
 
-MAIN: euler031
+SOLUTION: euler031
index 07c643659c723c911b74e0b17022869db43cdd14..5ff5234679c318fbaf47874f9e9e3e5424c05c3c 100755 (executable)
@@ -75,4 +75,4 @@ PRIVATE>
 ! [ euler032a ] 10 ave-time
 ! 2624 ms ave run time - 131.91 SD (10 trials)
 
-MAIN: euler032a
+SOLUTION: euler032a
index d0c79c220a151e2e2ae0bdb093bb65bc218a2084..c7c3fea5da7d52e6e100776d2f03e131e1202e98 100644 (file)
@@ -52,4 +52,4 @@ PRIVATE>
 ! [ euler033 ] 100 ave-time
 ! 7 ms ave run time - 1.31 SD (100 trials)
 
-MAIN: euler033
+SOLUTION: euler033
index 11b7efa8b55fedae275d5b4fd11ef4458510e07f..f7a4865da7aea861aa52fed58245a3b040498add 100644 (file)
@@ -44,4 +44,4 @@ PRIVATE>
 ! [ euler034 ] 10 ave-time
 ! 5506 ms ave run time - 144.0 SD (10 trials)
 
-MAIN: euler034
+SOLUTION: euler034
index 517e5211d20e4d1461b7c145406f5ed4c296159b..378461842312e15d9f4815690281e5abc03e6c8a 100755 (executable)
@@ -58,4 +58,4 @@ PRIVATE>
 ! TODO: try using bit arrays or other methods outlined here:
 !     http://home.comcast.net/~babdulbaki/Circular_Primes.html
 
-MAIN: euler035
+SOLUTION: euler035
index f5afeceb21fd3858af6b727fa875f5f5492a5a5a..e6c257969e60ac8624be1e7c8f52a103cb8c65eb 100644 (file)
@@ -36,4 +36,4 @@ PRIVATE>
 ! [ euler036 ] 100 ave-time
 ! 1703 ms ave run time - 96.6 SD (100 trials)
 
-MAIN: euler036
+SOLUTION: euler036
index 4562c4588f90c7f559455cf85dcb651a3dff62a7..e59f506962127c33e90511122312e0eb3dc81041 100755 (executable)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.parser math.primes sequences ;
+USING: kernel math math.parser math.primes sequences project-euler.common ;
 IN: project-euler.037
 
 ! http://projecteuler.net/index.php?section=problems&id=37
@@ -49,4 +49,4 @@ PRIVATE>
 ! [ euler037 ] 100 ave-time
 ! 130 ms ave run time - 6.27 SD (100 trials)
 
-MAIN: euler037
+SOLUTION: euler037
index 2df993b341dda71ca60781fa780be60fe1d90d9c..3c6e2eac0275d365a452b4b816344c4f2b841984 100755 (executable)
@@ -53,4 +53,4 @@ PRIVATE>
 ! [ euler038 ] 100 ave-time
 ! 11 ms ave run time - 1.5 SD (100 trials)
 
-MAIN: euler038
+SOLUTION: euler038
index 6b5601566762f0e0be2721afef150948594abd44..dee3f9804c15dde9c4ebd4d579c82e513297b71d 100755 (executable)
@@ -62,4 +62,4 @@ PRIVATE>
 ! [ euler039 ] 100 ave-time
 ! 1 ms ave run time - 0.37 SD (100 trials)
 
-MAIN: euler039
+SOLUTION: euler039
index 6b8a3f267ac59321573886fdb00bc5e0e180ff5d..86fb34629e03ba974b1ff85eb7eb975638d86306 100755 (executable)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.parser sequences strings ;
+USING: kernel math math.parser sequences strings project-euler.common ;
 IN: project-euler.040
 
 ! http://projecteuler.net/index.php?section=problems&id=40
@@ -48,4 +48,4 @@ PRIVATE>
 ! [ euler040 ] 100 ave-time
 ! 444 ms ave run time - 23.64 SD (100 trials)
 
-MAIN: euler040
+SOLUTION: euler040
index d6d428a11f5a191c1440d1e70ad90e51771bebca..751ddd345052beddbdbd871a29fef2e55bf1a7d1 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math.combinatorics math.parser math.primes sequences ;
+USING: kernel math.combinatorics math.parser math.primes sequences project-euler.common ;
 IN: project-euler.041
 
 ! http://projecteuler.net/index.php?section=problems&id=41
@@ -37,4 +37,4 @@ IN: project-euler.041
 ! [ euler041 ] 100 ave-time
 ! 64 ms ave run time - 4.22 SD (100 trials)
 
-MAIN: euler041
+SOLUTION: euler041
index c8236db1185c2de5332ebd26fcdc91d2005669f1..8c74cc9b312a0ee67e23d2714f0e59b7cb850a34 100644 (file)
@@ -71,4 +71,4 @@ PRIVATE>
 ! [ euler042a ] 100 ave-time
 ! 21 ms ave run time - 2.2 SD (100 trials)
 
-MAIN: euler042a
+SOLUTION: euler042a
index 21e9ec8e60c1024facd98e59c137fb831eb44e61..7edcd14364724815a3fbd478b717082819894f9d 100644 (file)
@@ -97,4 +97,4 @@ PRIVATE>
 ! [ euler043a ] 100 ave-time
 ! 10 ms ave run time - 1.37 SD (100 trials)
 
-MAIN: euler043a
+SOLUTION: euler043a
index 46b20253ee48392458b80a3c2f63e88dcbe6a9e5..8fc979e8bcf3257627b4d07723c69be91aa24afd 100644 (file)
@@ -45,4 +45,4 @@ PRIVATE>
 
 ! TODO: this solution is ugly and not very efficient...find a better algorithm
 
-MAIN: euler044
+SOLUTION: euler044
index ca5cd83f41aba82ca15d84e5c34a3e8fc713f7a5..939b8416bb3b9083f0c7e5509d82aba37c02fb0e 100644 (file)
@@ -46,4 +46,4 @@ PRIVATE>
 ! [ euler045 ] 100 ave-time
 ! 12 ms ave run time - 1.71 SD (100 trials)
 
-MAIN: euler045
+SOLUTION: euler045
index b5ff6a9b816c2a884137658acbb1690592d26b8e..e4b8dcc955518ad86bf8f71bfbed1b4457574b3c 100755 (executable)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions math.primes math.ranges sequences ;
+USING: kernel math math.functions math.primes math.ranges sequences project-euler.common ;
 IN: project-euler.046
 
 ! http://projecteuler.net/index.php?section=problems&id=46
@@ -49,4 +49,4 @@ PRIVATE>
 ! [ euler046 ] 100 ave-time
 ! 37 ms ave run time - 3.39 SD (100 trials)
 
-MAIN: euler046
+SOLUTION: euler046
index 9caaa8776f79c28e445d2db4b099f14d934ebbc9..e251045cd4d324970f692564e36237ba4cd031e4 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays kernel math math.primes math.primes.factors
-    math.ranges namespaces sequences ;
+    math.ranges namespaces sequences project-euler.common ;
 IN: project-euler.047
 
 ! http://projecteuler.net/index.php?section=problems&id=47
@@ -93,4 +93,4 @@ PRIVATE>
 ! TODO: I don't like that you have to specify the upper bound, maybe try making
 ! this lazy so it could also short-circuit when it finds the answer?
 
-MAIN: euler047a
+SOLUTION: euler047a
index baa1a430e86ed9d8374e3fc535f0984867c9cfc1..e56b9e9548bd99a70e19e4262234e9b183b6b3ce 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions sequences ;
+USING: kernel math math.functions sequences project-euler.common ;
 IN: project-euler.048
 
 ! http://projecteuler.net/index.php?section=problems&id=48
@@ -22,4 +22,4 @@ IN: project-euler.048
 ! [ euler048 ] 100 ave-time
 ! 276 ms run / 1 ms GC ave time - 100 trials
 
-MAIN: euler048
+SOLUTION: euler048
index f8ce68d17396d6056a81afd52903c63cbfd660a2..a97e16d0fad1273f5857ff14e4a64559c811c388 100644 (file)
@@ -87,4 +87,4 @@ PRIVATE>
 ! [ euler050 ] 100 ave-time
 ! 291 ms run / 20.6 ms GC ave time - 100 trials
 
-MAIN: euler050
+SOLUTION: euler050
index 6245a794af257dfd4f3b46b3970b8076b192521e..1b3b9ba1f11abb108413db3b5f5705d91f8d153a 100644 (file)
@@ -49,4 +49,4 @@ PRIVATE>
 ! [ euler052 ] 100 ave-time
 ! 92 ms ave run time - 6.29 SD (100 trials)
 
-MAIN: euler052
+SOLUTION: euler052
index d264bca4bff1a8b80a174551976c15aa2de98f52..111b8147fb59807cb18c03ec2e8234b92891e0e8 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.combinatorics math.ranges sequences ;
+USING: kernel math math.combinatorics math.ranges sequences project-euler.common ;
 IN: project-euler.053
 
 ! http://projecteuler.net/index.php?section=problems&id=53
@@ -32,4 +32,4 @@ IN: project-euler.053
 ! [ euler053 ] 100 ave-time
 ! 52 ms ave run time - 4.44 SD (100 trials)
 
-MAIN: euler053
+SOLUTION: euler053
index d07d0c8e31dabbcff6cdf2075e4f2b7c7b16aa6a..43f380b3ba820de37a836288f8b00fbd213eceae 100644 (file)
@@ -66,4 +66,4 @@ PRIVATE>
 ! [ euler055 ] 100 ave-time
 ! 478 ms ave run time - 30.63 SD (100 trials)
 
-MAIN: euler055
+SOLUTION: euler055
index e2d95e27c11f6f7dcf56ff1e7419eb220c69c1a6..76c275e4dde21dbabc1d3cb43061f3b9685e8cae 100644 (file)
@@ -29,4 +29,4 @@ IN: project-euler.056
 ! [ euler056 ] 100 ave-time
 ! 22 ms ave run time - 2.13 SD (100 trials)
 
-MAIN: euler056
+SOLUTION: euler056
index 53240b0ec1dbea2176deb63bebdf3910447f466c..681a17dd9ec2fe17434d74e380e77e868be72996 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Samuel Tardieu
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions math.parser sequences ;
+USING: kernel math math.functions math.parser sequences project-euler.common ;
 IN: project-euler.057
 
 ! http://projecteuler.net/index.php?section=problems&id=57
@@ -40,4 +40,4 @@ IN: project-euler.057
 ! [ euler057 ] time
 ! 3.375118 seconds
 
-MAIN: euler057
+SOLUTION: euler057
index 0abd753c0989adca62db594e097c945a7c6ac2c3..9a2fb8c868a48f1c53a7ac6de43a6edcecbb85b7 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays ascii assocs hashtables io.encodings.ascii io.files kernel math
     math.parser namespaces make sequences sequences.private sorting
-    splitting grouping strings sets accessors ;
+    splitting grouping strings sets accessors project-euler.common ;
 IN: project-euler.059
 
 ! http://projecteuler.net/index.php?section=problems&id=59
@@ -89,4 +89,4 @@ PRIVATE>
 ! [ euler059 ] 100 ave-time
 ! 8 ms ave run time - 1.4 SD (100 trials)
 
-MAIN: euler059
+SOLUTION: euler059
index 3f9d67091dad9ceef9066042b5138047ee064f1b..7f3472f306a6ff5c7c299918170fafdf7c042fd3 100644 (file)
@@ -59,4 +59,4 @@ PRIVATE>
 ! [ euler067a ] 100 ave-time
 ! 21 ms ave run time - 2.65 SD (100 trials)
 
-MAIN: euler067a
+SOLUTION: euler067a
index 69d9eb1a03cb3b11f68de14cf0ec5ad49b42de19..cccf6bf708d75735c750d85e4b5d7d2014261a5f 100644 (file)
@@ -46,4 +46,4 @@ PRIVATE>
 ! [ euler071 ] 100 ave-time
 ! 155 ms ave run time - 6.95 SD (100 trials)
 
-MAIN: euler071
+SOLUTION: euler071
index 68dcd01e0d3d93ce1abf798e40af4eca06a970ed..c7e88057226c21b4a632361fb78a65be8dc8c93a 100644 (file)
@@ -49,4 +49,4 @@ PRIVATE>
 ! [ euler073 ] 10 ave-time
 ! 20506 ms ave run time - 937.07 SD (10 trials)
 
-MAIN: euler073
+SOLUTION: euler073
index 2b5b9311650b530fa22f274ffaf92c267823d0c3..5f54d8508e89683d64e352b1fdab0b8034877c8f 100755 (executable)
@@ -75,4 +75,4 @@ PRIVATE>
 ! [ euler075 ] 10 ave-time
 ! 3341 ms ave run timen - 157.77 SD (10 trials)
 
-MAIN: euler075
+SOLUTION: euler075
index e332d9ef3e53c40c4ba322fa793e4f800bb4e798..e6ed9035d2b72e1fd702003551d77b247ff7718d 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays assocs kernel locals math math.order math.ranges sequences ;
+USING: arrays assocs kernel locals math math.order math.ranges sequences project-euler.common ;
 IN: project-euler.076
 
 ! http://projecteuler.net/index.php?section=problems&id=76
@@ -56,4 +56,4 @@ PRIVATE>
 ! [ euler076 ] 100 ave-time
 ! 560 ms ave run time - 17.74 SD (100 trials)
 
-MAIN: euler076
+SOLUTION: euler076
index ad75c43c42772c2fe8f37bf9d3a40c84792d1b52..3ad740670312e4462f25d2bc0c3b7fe0cec156ec 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: assocs io.encodings.ascii io.files kernel make math math.parser
-    sequences sets ;
+    sequences sets project-euler.common ;
 IN: project-euler.079
 
 ! http://projecteuler.net/index.php?section=problems&id=79
@@ -63,4 +63,4 @@ PRIVATE>
 ! TODO: prune and diff are relatively slow; topological sort could be
 ! cleaned up and generalized much better, but it works for this problem
 
-MAIN: euler079
+SOLUTION: euler079
index c778fd952556f1406efd6dfb3f0482a5f7a92682..4901eae3428af4eb4f058a563b862d90a2d4a1b5 100644 (file)
@@ -50,4 +50,4 @@ PRIVATE>
 
 ! TODO: this solution is not very efficient, much better optimizations exist
 
-MAIN: euler092
+SOLUTION: euler092
index 6e6547a7e961e563d670ecff987fab769313e5de..a8895c215a0113e8c700825ba0ca7363fc6e5fcb 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: math math.functions ;
+USING: math math.functions project-euler.common ;
 IN: project-euler.097
 
 ! http://projecteuler.net/index.php?section=problems&id=97
@@ -28,4 +28,4 @@ IN: project-euler.097
 ! [ euler097 ] 100 ave-time
 ! 0 ms ave run timen - 0.22 SD (100 trials)
 
-MAIN: euler097
+SOLUTION: euler097
index ebc830cf0026f94d5c2fd687a7a77d824caa4d68..30bf52bebbf56867f719417d4965e4bdbbc99baf 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2008 Aaron Schaefer.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: io.encodings.ascii io.files kernel math math.functions math.parser
-    math.vectors sequences splitting ;
+    math.vectors sequences splitting project-euler.common ;
 IN: project-euler.099
 
 ! http://projecteuler.net/index.php?section=problems&id=99
@@ -49,4 +49,4 @@ PRIVATE>
 ! [ euler099 ] 100 ave-time
 ! 16 ms ave run timen - 1.67 SD (100 trials)
 
-MAIN: euler099
+SOLUTION: euler099
index ec372add3bff00f4ded9e71be8bfc223c47aeb6b..6f05eb7120846adb2a05fdcb1ad2ab95aa018bf5 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions sequences ;
+USING: kernel math math.functions sequences project-euler.common ;
 IN: project-euler.100
 
 ! http://projecteuler.net/index.php?section=problems&id=100
@@ -33,4 +33,4 @@ IN: project-euler.100
 ! [ euler100 ] 100 ave-time
 ! 0 ms ave run time - 0.14 SD (100 trials)
 
-MAIN: euler100
+SOLUTION: euler100
index 742fe9d625b324b3c9f739026041a0ad9f392f0f..174618e1471723c5b76abea869240e7be17d1c59 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.ranges sequences ;
+USING: kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.116
 
 ! http://projecteuler.net/index.php?section=problems&id=116
@@ -57,4 +57,4 @@ PRIVATE>
 ! [ euler116 ] 100 ave-time
 ! 0 ms ave run time - 0.34 SD (100 trials)
 
-MAIN: euler116
+SOLUTION: euler116
index b90a98173ee887f8286e56ac9c586734c19310c9..cb485d3ce237fbef8b8fff6d32c19a73cc2e5b9a 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.order sequences splitting ;
+USING: kernel math math.order sequences splitting project-euler.common ;
 IN: project-euler.117
 
 ! http://projecteuler.net/index.php?section=problems&id=117
@@ -41,4 +41,4 @@ PRIVATE>
 ! [ euler117 ] 100 ave-time
 ! 0 ms ave run time - 0.29 SD (100 trials)
 
-MAIN: euler117
+SOLUTION: euler117
index 0f009919d9ddde0c399627540d54839e4d3c2caf..ef1cf30dc0e22576d0c2fd3d643e6687a61b29d4 100644 (file)
@@ -45,4 +45,4 @@ PRIVATE>
 ! [ euler134 ] 10 ave-time
 ! 933 ms ave run timen - 19.58 SD (10 trials)
 
-MAIN: euler134
+SOLUTION: euler134
index 5aa0299dda1a7b8b904beb355376e6dbfcb0ea79..582e103e56538a67579b1e680b6cef9ea2b0ec28 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions sequences ;
+USING: kernel math math.functions sequences project-euler.common ;
 IN: project-euler.148
 
 ! http://projecteuler.net/index.php?section=problems&id=148
@@ -51,4 +51,4 @@ PRIVATE>
 ! [ euler148 ] 100 ave-time
 ! 0 ms ave run time - 0.17 SD (100 trials)
 
-MAIN: euler148
+SOLUTION: euler148
index 1b84b25d37a1b27dedaec1731dd396102b431a2e..e013e165751fc7128e4ee3b71b2833052bbef935 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: hints kernel locals math math.order sequences sequences.private ;
+USING: hints kernel locals math math.order sequences sequences.private project-euler.common ;
 IN: project-euler.150
 
 ! http://projecteuler.net/index.php?section=problems&id=150
@@ -75,4 +75,4 @@ PRIVATE>
 ! [ euler150 ] 10 ave-time
 ! 30208 ms ave run time - 593.45 SD (10 trials)
 
-MAIN: euler150
+SOLUTION: euler150
index 7913cf954012924ab3976a44c7286b5b9a1cd5bc..66c5a6301edad0832b9f3e56a77db20bbc73d1e1 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: assocs combinators kernel math math.order namespaces sequences ;
+USING: assocs combinators kernel math math.order namespaces sequences project-euler.common ;
 IN: project-euler.151
 
 ! http://projecteuler.net/index.php?section=problems&id=151
@@ -76,4 +76,4 @@ DEFER: (euler151)
 ! [ euler151 ] 100 ave-time
 ! ? ms run time - 100 trials
 
-MAIN: euler151
+SOLUTION: euler151
index 5bc4fdc74e3026162e52c9f45c9fc1fa9dd77475..cea1472c0bf67095ce32fb0b9803367361044df1 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays assocs kernel math math.ranges sequences ;
+USING: arrays assocs kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.164
 
 ! http://projecteuler.net/index.php?section=problems&id=164
@@ -35,4 +35,4 @@ PRIVATE>
 ! [ euler164 ] 100 ave-time
 ! 7 ms ave run time - 1.23 SD (100 trials)
 
-MAIN: euler164
+SOLUTION: euler164
index ef43fc3c340cdc97b5883ac19828f1d4fa61757d..5f0b853f0db998207cbe1d9787bdd85fc4cc7bef 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (c) 2007 Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
 IN: project-euler.169
-USING: combinators kernel math math.functions memoize ;
+USING: combinators kernel math math.functions memoize project-euler.common ;
 
 ! http://projecteuler.net/index.php?section=problems&id=169
 
@@ -39,4 +39,4 @@ MEMO: fn ( n -- x )
 ! [ euler169 ] 100 ave-time
 ! 0 ms ave run time - 0.2 SD (100 trials)
 
-MAIN: euler169
+SOLUTION: euler169
index 757dfb017a223b339586fb3153a19e50f15ca9a8..3fbef562eba2c9652fc656151f1f5d85207dd0f1 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions math.ranges sequences ;
+USING: kernel math math.functions math.ranges sequences project-euler.common ;
 IN: project-euler.173
 
 ! http://projecteuler.net/index.php?section=problems&id=173
@@ -35,4 +35,4 @@ PRIVATE>
 ! [ euler173 ] 100 ave-time
 ! 0 ms ave run time - 0.35 SD (100 trials)
 
-MAIN: euler173
+SOLUTION: euler173
index 9aebcf565cc44ab575187cf45726fb69b4bc0129..c99d670808a905f51d6b908a755dd440859b85fd 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2007 Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: combinators kernel math math.parser math.ranges sequences vectors ;
+USING: combinators kernel math math.parser math.ranges sequences vectors project-euler.common ;
 IN: project-euler.175
 
 ! http://projecteuler.net/index.php?section=problems&id=175
@@ -55,4 +55,4 @@ PRIVATE>
 ! [ euler175 ] 100 ave-time
 ! 0 ms ave run time - 0.31 SD (100 trials)
 
-MAIN: euler175
+SOLUTION: euler175
index 679748b3c2fb694e61c38ae9bec8b13680205a42..a9e62ec3a90033659b83aff90487b0b1afc466a0 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: circular disjoint-sets kernel math math.ranges sequences ;
+USING: circular disjoint-sets kernel math math.ranges sequences project-euler.common ;
 IN: project-euler.186
 
 ! http://projecteuler.net/index.php?section=problems&id=186
@@ -73,4 +73,4 @@ IN: project-euler.186
 ! [ euler186 ] 10 ave-time
 ! 18572 ms ave run time - 796.87 SD (10 trials)
 
-MAIN: euler186
+SOLUTION: euler186
index 84ab74bb031177a7c0dddd9c3006518cb40718ec..ec52af041524405c6a4c95eaff8b9a1b021d9185 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel sequences math math.functions math.ranges locals ;
+USING: kernel sequences math math.functions math.ranges locals project-euler.common ;
 IN: project-euler.190
 
 ! http://projecteuler.net/index.php?section=problems&id=190
@@ -51,4 +51,4 @@ PRIVATE>
 ! [ euler150 ] 100 ave-time
 ! 5 ms ave run time - 1.01 SD (100 trials)
 
-MAIN: euler190
+SOLUTION: euler190
index f2b5a2e212e10ba6791686ab74d4a4dda141b98b..2f165f654889b1106d473334feddb20098738a75 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: fry kernel math math.primes.factors sequences sets ;
+USING: fry kernel math math.primes.factors sequences sets project-euler.common ;
 IN: project-euler.203
 
 ! http://projecteuler.net/index.php?section=problems&id=203
@@ -61,4 +61,4 @@ PRIVATE>
 ! [ euler203 ] 100 ave-time
 ! 12 ms ave run time - 1.6 SD (100 trials)
 
-MAIN: euler203
+SOLUTION: euler203
index 297fb69de377aa61b9c7b306cad24778802567a6..30c42cc4be2b5855a56d90556b903f1497db8d58 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (c) 2008 Eric Mertens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel locals math ;
+USING: accessors kernel locals math project-euler.common ;
 IN: project-euler.215
 
 ! http://projecteuler.net/index.php?section=problems&id=215
@@ -89,4 +89,4 @@ PRIVATE>
 ! [ euler215 ] 100 ave-time
 ! 208 ms ave run time - 9.06 SD (100 trials)
 
-MAIN: euler215
+SOLUTION: euler215
index ac8986b3ffbef338a200a0ba625f2f34dce20184..bd50f817b6dd8b5296aa081b38b45d3ab364ee2e 100644 (file)
@@ -2,7 +2,8 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: arrays kernel make math math.functions math.matrices math.miller-rabin
     math.order math.parser math.primes.factors math.ranges math.ratios
-    sequences sorting strings unicode.case ;
+    sequences sorting strings unicode.case parser accessors vocabs.parser
+    namespaces vocabs words quotations prettyprint ;
 IN: project-euler.common
 
 ! A collection of words used by more than one Project Euler solution
@@ -127,3 +128,10 @@ PRIVATE>
 : d-transform ( triple -- new-triple )
     { { -1 -2 -2 } { 2 1 2 } { 2 2 3 } } transform ;
 
+: SOLUTION:
+    scan-word
+    [ name>> "-main" append create-in ] keep
+    [ drop in get vocab (>>main) ]
+    [ [ . ] swap prefix (( -- )) define-declared ]
+    2bi ; parsing
+
index f5bc95a8f713f41e36920a15be1a9503e094d3cd..3d10dbcfbdcc5966d7220b08a51d8d63b78a2596 100644 (file)
@@ -44,8 +44,8 @@ PRIVATE>
 
 : run-project-euler ( -- )
     problem-prompt dup problem-solved? [
+        "Answer: " write
         dup number>euler "project-euler." prepend run
-        "Answer: " write dup number? [ number>string ] when print
         "Source: " write solution-path .
     ] [
         drop "That problem has not been solved yet..." print