Fix short circuit usage in Project Euler solutions
parent
636c344eb0
commit
4d1d9b2087
|
@ -58,7 +58,7 @@ PRIVATE>
|
|||
<PRIVATE
|
||||
|
||||
: worth-calculating? ( n -- ? )
|
||||
{ [ dup 1- 3 mod zero? ] [ dup 1- 3 / even? ] } 0&& nip ;
|
||||
1- 3 { [ mod zero? ] [ / even? ] } 2&& ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ IN: project-euler.021
|
|||
|
||||
: amicable? ( n -- ? )
|
||||
dup sum-proper-divisors
|
||||
{ [ 2dup = not ] [ 2dup sum-proper-divisors = ] } 0&& 2nip ;
|
||||
{ [ = not ] [ sum-proper-divisors = ] } 2&& ;
|
||||
|
||||
: euler021 ( -- answer )
|
||||
10000 [1,b] [ dup amicable? [ drop 0 ] unless ] sigma ;
|
||||
|
|
|
@ -26,8 +26,7 @@ IN: project-euler.036
|
|||
<PRIVATE
|
||||
|
||||
: both-bases? ( n -- ? )
|
||||
{ [ dup palindrome? ]
|
||||
[ dup >bin dup reverse = ] } 0&& nip ;
|
||||
{ [ palindrome? ] [ >bin dup reverse = ] } 1&& ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -40,14 +40,14 @@ IN: project-euler.043
|
|||
|
||||
: interesting? ( seq -- ? )
|
||||
{
|
||||
[ 17 8 pick subseq-divisible? ]
|
||||
[ 13 7 pick subseq-divisible? ]
|
||||
[ 11 6 pick subseq-divisible? ]
|
||||
[ 7 5 pick subseq-divisible? ]
|
||||
[ 5 4 pick subseq-divisible? ]
|
||||
[ 3 3 pick subseq-divisible? ]
|
||||
[ 2 2 pick subseq-divisible? ]
|
||||
} 0&& nip ;
|
||||
[ 17 8 rot subseq-divisible? ]
|
||||
[ 13 7 rot subseq-divisible? ]
|
||||
[ 11 6 rot subseq-divisible? ]
|
||||
[ 7 5 rot subseq-divisible? ]
|
||||
[ 5 4 rot subseq-divisible? ]
|
||||
[ 3 3 rot subseq-divisible? ]
|
||||
[ 2 2 rot subseq-divisible? ]
|
||||
} 1&& ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ IN: project-euler.052
|
|||
[ number>digits natural-sort ] map all-equal? ;
|
||||
|
||||
: candidate? ( n -- ? )
|
||||
{ [ dup odd? ] [ dup 3 mod zero? ] } 0&& nip ;
|
||||
{ [ odd? ] [ 3 mod zero? ] } 1&& ;
|
||||
|
||||
: next-all-same ( x n -- n )
|
||||
dup candidate? [
|
||||
|
|
Loading…
Reference in New Issue