Anonymous user
General FizzBuzz: Difference between revisions
→{{header|Lua}}: Added version without modulo.
(→{{header|Java}}: Added jFizzBuzz aka FizzBuzz Enterprise Edition.) |
(→{{header|Lua}}: Added version without modulo.) |
||
Line 1,162:
genFizz(param)
</lang>
'''One of the few solutions which do not use expensive modulo ''(think about the CPU!)''.'''
{{trans|Python}}
<lang Lua>local def_n = 100
local def_mods = {
[3] = 'Fizz',
[5] = 'Buzz',
}
local function fizzbuzz(n, mods)
n = n or def_n
mods = mods or def_mods
local res = {}
for num, name in pairs(mods) do
for i = num, n, num do
res[i] = (res[i] or '') .. name
end
end
for i = 1, n do
res[i] = res[i] or i
end
return table.concat(res, '\n')
end
do
local n = tonumber(io.read()) -- number of lines, eg. 100
local mods = {}
local n_mods = 0
while n_mods ~= 3 do -- for reading until EOF, change 3 to -1
local line = io.read()
if not line then break end
local s, e = line:find(' ')
local num = tonumber(line:sub(1, s-1))
local name = line:sub(e+1)
mods[num] = name
n_mods = n_mods + 1
end
print(fizzbuzz(n, mods))
end
</lang>
=={{header|Nim}}==
This solution has no input validation
|