A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
35
Task/Generator-Exponential/E/generator-exponential.e
Normal file
35
Task/Generator-Exponential/E/generator-exponential.e
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
def genPowers(exponent) {
|
||||
var i := -1
|
||||
return def powerGenerator() {
|
||||
return (i += 1) ** exponent
|
||||
}
|
||||
}
|
||||
|
||||
def filtered(source, filter) {
|
||||
var fval := filter()
|
||||
return def filterGenerator() {
|
||||
while (true) {
|
||||
def sval := source()
|
||||
while (sval > fval) {
|
||||
fval := filter()
|
||||
}
|
||||
if (sval < fval) {
|
||||
return sval
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def drop(n, gen) {
|
||||
for _ in 1..n { gen() }
|
||||
}
|
||||
|
||||
|
||||
def squares := genPowers(2)
|
||||
def cubes := genPowers(3)
|
||||
def squaresNotCubes := filtered(squares, cubes)
|
||||
drop(20, squaresNotCubes)
|
||||
for _ in 1..10 {
|
||||
print(`${squaresNotCubes()} `)
|
||||
}
|
||||
println()
|
||||
Loading…
Add table
Add a link
Reference in a new issue