Switch zero? to 0 = where appropriate in PE solutions
parent
e813e1df18
commit
61db7d846b
|
@ -46,7 +46,7 @@ PRIVATE>
|
||||||
|
|
||||||
|
|
||||||
: euler001b ( -- answer )
|
: euler001b ( -- answer )
|
||||||
1000 [ dup 5 mod swap 3 mod [ zero? ] either? ] filter sum ;
|
1000 [ [ 5 mod ] [ 3 mod ] bi [ 0 = ] either? ] filter sum ;
|
||||||
|
|
||||||
! [ euler001b ] 100 ave-time
|
! [ euler001b ] 100 ave-time
|
||||||
! 0 ms run / 0 ms GC ave time - 100 trials
|
! 0 ms run / 0 ms GC ave time - 100 trials
|
||||||
|
|
|
@ -21,7 +21,7 @@ IN: project-euler.004
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: source-004 ( -- seq )
|
: source-004 ( -- seq )
|
||||||
100 999 [a,b] [ 10 mod zero? not ] filter ;
|
100 999 [a,b] [ 10 mod 0 = not ] filter ;
|
||||||
|
|
||||||
: max-palindrome ( seq -- palindrome )
|
: max-palindrome ( seq -- palindrome )
|
||||||
natural-sort [ palindrome? ] find-last nip ;
|
natural-sort [ palindrome? ] find-last nip ;
|
||||||
|
|
|
@ -58,7 +58,7 @@ PRIVATE>
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: worth-calculating? ( n -- ? )
|
: worth-calculating? ( n -- ? )
|
||||||
1- 3 { [ mod zero? ] [ / even? ] } 2&& ;
|
1- 3 { [ mod 0 = ] [ / even? ] } 2&& ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ IN: project-euler.019
|
||||||
: euler019 ( -- answer )
|
: euler019 ( -- answer )
|
||||||
1901 2000 [a,b] [
|
1901 2000 [a,b] [
|
||||||
12 [1,b] [ 1 zeller-congruence ] with map
|
12 [1,b] [ 1 zeller-congruence ] with map
|
||||||
] map concat [ zero? ] count ;
|
] map concat [ 0 = ] count ;
|
||||||
|
|
||||||
! [ euler019 ] 100 ave-time
|
! [ euler019 ] 100 ave-time
|
||||||
! 1 ms ave run time - 0.51 SD (100 trials)
|
! 1 ms ave run time - 0.51 SD (100 trials)
|
||||||
|
@ -58,7 +58,7 @@ IN: project-euler.019
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
: euler019a ( -- answer )
|
: euler019a ( -- answer )
|
||||||
end-date start-date first-days [ zero? ] count ;
|
end-date start-date first-days [ 0 = ] count ;
|
||||||
|
|
||||||
! [ euler019a ] 100 ave-time
|
! [ euler019a ] 100 ave-time
|
||||||
! 17 ms ave run time - 2.13 SD (100 trials)
|
! 17 ms ave run time - 2.13 SD (100 trials)
|
||||||
|
|
|
@ -66,7 +66,7 @@ SYMBOL: sieve
|
||||||
0 <repetition> >array sieve set ;
|
0 <repetition> >array sieve set ;
|
||||||
|
|
||||||
: is-prime? ( index -- ? )
|
: is-prime? ( index -- ? )
|
||||||
sieve get nth zero? ;
|
sieve get nth 0 = ;
|
||||||
|
|
||||||
: multiples ( n -- seq )
|
: multiples ( n -- seq )
|
||||||
sieve get length 1- over <range> ;
|
sieve get length 1- over <range> ;
|
||||||
|
|
|
@ -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 -- ? )
|
||||||
{ [ odd? ] [ 3 mod zero? ] } 1&& ;
|
{ [ odd? ] [ 3 mod 0 = ] } 1&& ;
|
||||||
|
|
||||||
: next-all-same ( x n -- n )
|
: next-all-same ( x n -- n )
|
||||||
dup candidate? [
|
dup candidate? [
|
||||||
|
|
|
@ -42,7 +42,7 @@ IN: project-euler.common
|
||||||
|
|
||||||
: (sum-divisors) ( n -- sum )
|
: (sum-divisors) ( n -- sum )
|
||||||
dup sqrt >fixnum [1,b] [
|
dup sqrt >fixnum [1,b] [
|
||||||
[ 2dup mod zero? [ 2dup / + , ] [ drop ] if ] each
|
[ 2dup mod 0 = [ 2dup / + , ] [ drop ] if ] each
|
||||||
dup perfect-square? [ sqrt >fixnum neg , ] [ drop ] if
|
dup perfect-square? [ sqrt >fixnum neg , ] [ drop ] if
|
||||||
] { } make sum ;
|
] { } make sum ;
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ PRIVATE>
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
: number>digits ( n -- seq )
|
: number>digits ( n -- seq )
|
||||||
[ dup zero? not ] [ 10 /mod ] [ ] produce reverse nip ;
|
[ dup 0 = not ] [ 10 /mod ] [ ] produce reverse nip ;
|
||||||
|
|
||||||
: nth-triangle ( n -- n )
|
: nth-triangle ( n -- n )
|
||||||
dup 1+ * 2 / ;
|
dup 1+ * 2 / ;
|
||||||
|
@ -112,7 +112,7 @@ PRIVATE>
|
||||||
factor-2s dup [ 1+ ]
|
factor-2s dup [ 1+ ]
|
||||||
[ perfect-square? -1 0 ? ]
|
[ perfect-square? -1 0 ? ]
|
||||||
[ dup sqrt >fixnum [1,b] ] tri* [
|
[ dup sqrt >fixnum [1,b] ] tri* [
|
||||||
dupd mod zero? [ [ 2 + ] dip ] when
|
dupd mod 0 = [ [ 2 + ] dip ] when
|
||||||
] each drop * ;
|
] each drop * ;
|
||||||
|
|
||||||
! These transforms are for generating primitive Pythagorean triples
|
! These transforms are for generating primitive Pythagorean triples
|
||||||
|
|
Loading…
Reference in New Issue