Solution to Project Euler problem 29
parent
ccb8ad98ec
commit
a3dd5cb1e6
|
@ -40,7 +40,7 @@ PRIVATE>
|
|||
: euler028 ( -- answer )
|
||||
1001 sum-diags ;
|
||||
|
||||
! [ euler027 ] 100 ave-time
|
||||
! [ euler028 ] 100 ave-time
|
||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||
|
||||
MAIN: euler028
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
! Copyright (c) 2007 Aaron Schaefer.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: hashtables kernel math.functions math.ranges project-euler.common
|
||||
sequences ;
|
||||
IN: project-euler.029
|
||||
|
||||
! http://projecteuler.net/index.php?section=problems&id=29
|
||||
|
||||
! DESCRIPTION
|
||||
! -----------
|
||||
|
||||
! Consider all integer combinations of a^b for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:
|
||||
|
||||
! 2^2 = 4, 2^3 = 8, 2^4 = 16, 2^5 = 32
|
||||
! 3^2 = 9, 3^3 = 27, 3^4 = 81, 3^5 = 243
|
||||
! 4^2 = 16, 4^3 = 64, 4^4 = 256, 4^5 = 1024
|
||||
! 5^2 = 25, 5^3 = 125, 5^4 = 625, 5^5 = 3125
|
||||
|
||||
! If they are then placed in numerical order, with any repeats removed, we get
|
||||
! the following sequence of 15 distinct terms:
|
||||
|
||||
! 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125
|
||||
|
||||
! How many distinct terms are in the sequence generated by a^b for 2 ≤ a ≤ 100
|
||||
! and 2 ≤ b ≤ 100?
|
||||
|
||||
|
||||
! SOLUTION
|
||||
! --------
|
||||
|
||||
: euler029 ( -- answer )
|
||||
2 100 [a,b] dup cartesian-product [ first2 ^ ] map prune length ;
|
||||
|
||||
! [ euler029 ] 100 ave-time
|
||||
! 951 ms run / 12 ms GC ave time - 100 trials
|
||||
|
||||
MAIN: euler029
|
|
@ -9,8 +9,8 @@ USING: definitions io io.files kernel math.parser sequences vocabs
|
|||
project-euler.017 project-euler.018 project-euler.019 project-euler.020
|
||||
project-euler.021 project-euler.022 project-euler.023 project-euler.024
|
||||
project-euler.025 project-euler.026 project-euler.027 project-euler.028
|
||||
project-euler.067 project-euler.134 project-euler.169 project-euler.173
|
||||
project-euler.175 ;
|
||||
project-euler.029 project-euler.067 project-euler.134 project-euler.169
|
||||
project-euler.173 project-euler.175 ;
|
||||
IN: project-euler
|
||||
|
||||
<PRIVATE
|
||||
|
|
Loading…
Reference in New Issue