Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / extra / project-euler / 015 / 015.factor
blobfb720c7e7c76545484921e6d267ee9f4e0ad6b72
1 ! Copyright (c) 2007 Aaron Schaefer.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel math math.combinatorics ;
4 IN: project-euler.015
6 ! http://projecteuler.net/index.php?section=problems&id=15
8 ! DESCRIPTION
9 ! -----------
11 ! Starting in the top left corner of a 2x2 grid, there are 6 routes (without
12 ! backtracking) to the bottom right corner.
14 ! How many routes are there through a 20x20 grid?
17 ! SOLUTION
18 ! --------
20 <PRIVATE
22 : grid-paths ( n -- n )
23     dup 2 * swap nCk ;
25 PRIVATE>
27 : euler015 ( -- answer )
28     20 grid-paths ;
30 ! [ euler015 ] 100 ave-time
31 ! 0 ms ave run time - 0.2 SD (100 trials)
33 MAIN: euler015