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}}== |