Generator/Exponential: Difference between revisions
Content added Content deleted
m (→{{header|Quackery}}: tweak) |
No edit summary |
||
Line 2,421: | Line 2,421: | ||
I: 30, F: 1089 |
I: 30, F: 1089 |
||
</pre > |
</pre > |
||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
|||
{{trans|VBA}} |
|||
Generators are not very natural in Mathemetica, because they avoid the use of lists and instead rely on sequential processing. |
|||
<lang Mathematica>lastsquare = 1; |
|||
nextsquare = -1; |
|||
lastcube = -1; |
|||
midcube = 0; |
|||
nextcube = 1; |
|||
Gensquares[] := Module[{}, |
|||
lastsquare += nextsquare; |
|||
nextsquare += 2; |
|||
squares = lastsquare; |
|||
squares |
|||
] |
|||
Gencubes[] := Module[{}, |
|||
lastcube += nextcube; |
|||
nextcube += midcube; |
|||
midcube += 6; |
|||
cubes = lastcube |
|||
] |
|||
c = Gencubes[]; |
|||
Do[ |
|||
While[True, |
|||
s = Gensquares[]; |
|||
While[c < s, |
|||
c = Gencubes[]; |
|||
]; |
|||
If[s =!= c, |
|||
Break[] |
|||
]; |
|||
]; |
|||
If[i > 20, |
|||
Print[s] |
|||
] |
|||
, |
|||
{i, 30} |
|||
]</lang> |
|||
{{out}} |
|||
<pre>529 |
|||
576 |
|||
625 |
|||
676 |
|||
784 |
|||
841 |
|||
900 |
|||
961 |
|||
1024 |
|||
1089</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |