Generator/Exponential: Difference between revisions

Content added Content deleted
(Added {{Trans}} tags to JS and AppleScript)
(Adding emacs lisp solution)
Line 1,285: Line 1,285:
[529, 576, 625, 676, 784, 841, 900, 961, 1024, 1089]
[529, 576, 625, 676, 784, 841, 900, 961, 1024, 1089]
</pre>
</pre>

=={{header|Emacs Lisp}}==

This code requires generator library which was introduced in Emacs 25.2

<lang lisp>
(require 'generator)
(setq lexical-binding t)

(iter-defun exp-gen (pow)
(let ((i 0))
(while
(setq i (1+ i))
(iter-yield (expt i pow)))))

(iter-defun flt-gen ()
(let ((i 'nil)
(g (exp-gen 2))
(f (lambda (n)
(if (= (ffloor (log n 3)) (log n 3))
'nil
't))))
(while
(setq i (iter-next g))
(when (funcall f i)
(iter-yield i)))))

(let ((g (flt-gen))
(o 'nil))
(dotimes (i 29)
(setq o (iter-next g))
(when (> i 18)
(print o)))) </lang>


=={{header|Erlang}}==
=={{header|Erlang}}==