Modul:Matematik
Utseende
Dokumentation [visa] [redigera] [historik] [rensa sidcachen]
Modul som samlar funktioner som har med matematik att göra.
Än så länge finns endast funktionerna delare och delare2 som båda listar alla delare till ett tal.
--[[
Olika matamatikfunktioner
Tillgängliga funktioner:
* delare: listar alla delare till ett tal (<10^13).
* delare2: listar alla delare till ett tal (<10200). Mycket snabb.
]]
-- Start av modulen --
local p={}
-- delare --
--[[
delare, skriver ut alla delare till ett givet tal
parametrar
==========
tal: talet vars delare söks
separator (frivillig): den teckensträng som ska skrivas ut mellan delarna.
Ett komma och ett mellanslag sätts om separatorn ej används
exempel
=======
{{#invoke:Modulnamn|delare|tal=58166717|separator=,}}
ger resultatet
1,7,673,4711,12347,86429,8309531,58166717
]]
-- Skapad av Larske
function p.delare (frame)
local args = frame.args
tal = frame.args['tal'] or frame.args[1]
tal=string.gsub(tal,'([^0-9])','')
tal=tonumber(tal)
tal=math.abs(tal)
sep = frame.args['separator'] or frame.args[2] or ', '
delare = {}
for i = 1, math.sqrt(tal) do
if tal % i == 0 then
table.insert(delare, i)
if i ~= math.sqrt(tal) then
table.insert(delare, tal/i)
end
end
end
table.sort(delare)
return table.concat(delare,sep)
end
-- delare2 --
-- Buggig, använd ej.
-- Denna funktion behålls endast pga tidigare anrop.
function p.delare2 (frame)
return p.delare(frame)
end
-- Slut på funktioner --
return p