Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,5 @@
isEmirp :=
[:p | |e|
(e := p asString reversed asNumber) isPrime
and:[ e ~= p ]
].

View file

@ -0,0 +1,4 @@
primeGen :=
[:n |
LazyCons car:n cdr:[primeGen value:(n nextPrime)]
].

View file

@ -0,0 +1,6 @@
emirpGen :=
[:l | |rest el|
rest := l.
[ el := rest car. rest := rest cdr. isEmirp value:el ] whileFalse.
LazyCons car:el cdr:[emirpGen value:rest]
].

View file

@ -0,0 +1,2 @@
listOfPrimes := primeGen value:2.
listOfEmirps := emirpGen value:listOfPrimes.

View file

@ -0,0 +1,11 @@
Transcript
show:'first 20 emirps: ';
showCR:(listOfEmirps take:20) asArray.
Transcript
show:'emirps between 7700 and 8000 are: ';
showCR:((7700 to:8000) select:[:n | n isPrime and:[isEmirp value:n]]).
Transcript
show:'10000''th emirp: ';
showCR:(listOfEmirps nth:10000).

View file

@ -0,0 +1,18 @@
Object subclass: #Cons
instancevariableNames:'car cdr'.
car:newCar cdr:newCdr
car := newCar. cdr := newCdr
car
^car
cdr
^cdr
Cons subclass:#LazyCons
cdr
cdr := cdr value.
self changeClassTo:Cons.
^cdr