Fix amicable-pair? false positives
parent
f2cf2bc158
commit
2ab01a8f25
|
@ -32,13 +32,13 @@ IN: project-euler.021
|
||||||
[ 2dup divisor? [ 2dup / + , ] [ drop ] if ] each drop
|
[ 2dup divisor? [ 2dup / + , ] [ drop ] if ] each drop
|
||||||
] { } make sum 1+ ;
|
] { } make sum 1+ ;
|
||||||
|
|
||||||
: amicable-pair? ( n m -- ? )
|
|
||||||
{ [ 2dup = not ] [ 2dup d = ] } && 2nip ;
|
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
: amicable? ( n -- ? )
|
||||||
|
dup d { [ 2dup = not ] [ 2dup d = ] } && 2nip ;
|
||||||
|
|
||||||
: euler021 ( -- answer )
|
: euler021 ( -- answer )
|
||||||
10000 [1,b] [ dup dup d amicable-pair? [ drop 0 ] unless ] sigma ;
|
10000 [1,b] [ dup amicable? [ drop 0 ] unless ] sigma ;
|
||||||
|
|
||||||
! [ euler021 ] 100 ave-time
|
! [ euler021 ] 100 ave-time
|
||||||
! 328 ms run / 10 ms GC ave time - 100 trials
|
! 328 ms run / 10 ms GC ave time - 100 trials
|
||||||
|
|
|
@ -55,4 +55,7 @@ PRIVATE>
|
||||||
! [ euler067 ] 100 ave-time
|
! [ euler067 ] 100 ave-time
|
||||||
! 15 ms run / 0 ms GC ave time - 100 trials
|
! 15 ms run / 0 ms GC ave time - 100 trials
|
||||||
|
|
||||||
|
! source-067 [ max-path ] curry 100 ave-time
|
||||||
|
! 3 ms run / 0 ms GC ave time - 100 trials
|
||||||
|
|
||||||
MAIN: euler067
|
MAIN: euler067
|
||||||
|
|
Loading…
Reference in New Issue