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