Loops/Increment loop index within loop body: Difference between revisions
Content added Content deleted
SantiagoPiM (talk | contribs) (→{{header|Common Lisp}}: Ups, typo with test function) |
(Added Lua version) |
||
Line 2,133: | Line 2,133: | ||
Same as 'while' loop version. |
Same as 'while' loop version. |
||
</pre> |
</pre> |
||
=={{header|Lua}}== |
|||
<lang lua>-- Returns boolean indicate whether x is prime |
|||
function isPrime (x) |
|||
if x < 2 then return false end |
|||
if x < 4 then return true end |
|||
if x % 2 == 0 then return false end |
|||
for d = 3, math.sqrt(x), 2 do |
|||
if x % d == 0 then return false end |
|||
end |
|||
return true |
|||
end |
|||
-- Main procedure |
|||
local n, i = 0, 42 |
|||
while n < 42 do |
|||
if isPrime(i) then |
|||
n = n + 1 |
|||
print("n = " .. n, i) |
|||
i = 2 * i - 1 |
|||
end |
|||
i = i + 1 |
|||
end</lang> |
|||
{{out}} |
|||
<pre>n = 1 43 |
|||
n = 2 89 |
|||
n = 3 179 |
|||
n = 4 359 |
|||
n = 5 719 |
|||
n = 6 1439 |
|||
n = 7 2879 |
|||
n = 8 5779 |
|||
n = 9 11579 |
|||
n = 10 23159 |
|||
n = 11 46327 |
|||
n = 12 92657 |
|||
n = 13 185323 |
|||
n = 14 370661 |
|||
n = 15 741337 |
|||
n = 16 1482707 |
|||
n = 17 2965421 |
|||
n = 18 5930887 |
|||
n = 19 11861791 |
|||
n = 20 23723597 |
|||
n = 21 47447201 |
|||
n = 22 94894427 |
|||
n = 23 189788857 |
|||
n = 24 379577741 |
|||
n = 25 759155483 |
|||
n = 26 1518310967 |
|||
n = 27 3036621941 |
|||
n = 28 6073243889 |
|||
n = 29 12146487779 |
|||
n = 30 24292975649 |
|||
n = 31 48585951311 |
|||
n = 32 97171902629 |
|||
n = 33 194343805267 |
|||
n = 34 388687610539 |
|||
n = 35 777375221081 |
|||
n = 36 1554750442183 |
|||
n = 37 3109500884389 |
|||
n = 38 6219001768781 |
|||
n = 39 12438003537571 |
|||
n = 40 24876007075181 |
|||
n = 41 49752014150467 |
|||
n = 42 99504028301131</pre> |
|||
=={{header|M2000 Interpreter}}== |
=={{header|M2000 Interpreter}}== |