Add unit tests for Project Euler
parent
e923ec16d3
commit
e763b5a335
|
|
@ -0,0 +1,6 @@
|
|||
USING: project-euler.001 tools.test ;
|
||||
IN: project-euler.001.tests
|
||||
|
||||
[ 233168 ] [ euler001 ] unit-test
|
||||
[ 233168 ] [ euler001a ] unit-test
|
||||
[ 233168 ] [ euler001b ] unit-test
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
USING: project-euler.002 tools.test ;
|
||||
IN: project-euler.002.tests
|
||||
|
||||
[ 4613732 ] [ euler002 ] unit-test
|
||||
[ 4613732 ] [ euler002a ] unit-test
|
||||
|
|
@ -13,7 +13,8 @@ IN: project-euler.002
|
|||
|
||||
! 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
|
||||
|
||||
! Find the sum of all the even-valued terms in the sequence which do not exceed one million.
|
||||
! Find the sum of all the even-valued terms in the sequence which do not exceed
|
||||
! four million.
|
||||
|
||||
|
||||
! SOLUTION
|
||||
|
|
@ -30,10 +31,10 @@ PRIVATE>
|
|||
V{ 0 } clone 1 rot (fib-upto) ;
|
||||
|
||||
: euler002 ( -- answer )
|
||||
1000000 fib-upto [ even? ] filter sum ;
|
||||
4000000 fib-upto [ even? ] filter sum ;
|
||||
|
||||
! [ euler002 ] 100 ave-time
|
||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||
! 0 ms ave run time - 0.22 SD (100 trials)
|
||||
|
||||
|
||||
! ALTERNATE SOLUTIONS
|
||||
|
|
@ -44,9 +45,9 @@ PRIVATE>
|
|||
but-last-slice { 0 1 } prepend ;
|
||||
|
||||
: euler002a ( -- answer )
|
||||
1000000 fib-upto* [ even? ] filter sum ;
|
||||
4000000 fib-upto* [ even? ] filter sum ;
|
||||
|
||||
! [ euler002a ] 100 ave-time
|
||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||
! 0 ms ave run time - 0.2 SD (100 trials)
|
||||
|
||||
MAIN: euler002a
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
USING: project-euler.003 tools.test ;
|
||||
IN: project-euler.003.tests
|
||||
|
||||
[ 6857 ] [ euler003 ] unit-test
|
||||
|
|
@ -10,16 +10,16 @@ IN: project-euler.003
|
|||
|
||||
! The prime factors of 13195 are 5, 7, 13 and 29.
|
||||
|
||||
! What is the largest prime factor of the number 317584931803?
|
||||
! What is the largest prime factor of the number 600851475143 ?
|
||||
|
||||
|
||||
! SOLUTION
|
||||
! --------
|
||||
|
||||
: euler003 ( -- answer )
|
||||
317584931803 factors supremum ;
|
||||
600851475143 factors supremum ;
|
||||
|
||||
! [ euler003 ] 100 ave-time
|
||||
! 1 ms run / 0 ms GC ave time - 100 trials
|
||||
! 1 ms ave run time - 0.49 SD (100 trials)
|
||||
|
||||
MAIN: euler003
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
USING: project-euler.004 tools.test ;
|
||||
IN: project-euler.004.tests
|
||||
|
||||
[ 906609 ] [ euler004 ] unit-test
|
||||
|
|
@ -32,6 +32,6 @@ PRIVATE>
|
|||
source-004 dup cartesian-product [ product ] map prune max-palindrome ;
|
||||
|
||||
! [ euler004 ] 100 ave-time
|
||||
! 1608 ms run / 102 ms GC ave time - 100 trials
|
||||
! 1164 ms ave run time - 39.35 SD (100 trials)
|
||||
|
||||
MAIN: euler004
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
USING: project-euler.005 tools.test ;
|
||||
IN: project-euler.005.tests
|
||||
|
||||
[ 232792560 ] [ euler005 ] unit-test
|
||||
|
|
@ -21,6 +21,6 @@ IN: project-euler.005
|
|||
20 1 [ 1+ lcm ] reduce ;
|
||||
|
||||
! [ euler005 ] 100 ave-time
|
||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||
! 0 ms ave run time - 0.14 SD (100 trials)
|
||||
|
||||
MAIN: euler005
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
USING: project-euler.006 tools.test ;
|
||||
IN: project-euler.006.tests
|
||||
|
||||
[ 25164150 ] [ euler006 ] unit-test
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
USING: project-euler.007 tools.test ;
|
||||
IN: project-euler.007.tests
|
||||
|
||||
[ 104743 ] [ euler007 ] unit-test
|
||||
|
|
@ -24,6 +24,6 @@ IN: project-euler.007
|
|||
10001 nth-prime ;
|
||||
|
||||
! [ euler007 ] 100 ave-time
|
||||
! 10 ms run / 0 ms GC ave time - 100 trials
|
||||
! 5 ms ave run time - 1.13 SD (100 trials)
|
||||
|
||||
MAIN: euler007
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
! Copyright (c) 2008 Eric Mertens.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays assocs kernel locals.backend math math.order math.ranges
|
||||
sequences ;
|
||||
USING: arrays assocs kernel locals math math.order math.ranges sequences ;
|
||||
IN: project-euler.076
|
||||
|
||||
! http://projecteuler.net/index.php?section=problems&id=76
|
||||
|
|
|
|||
Loading…
Reference in New Issue