Jump to content

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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.