Module:Utils: Difference between revisions
m round() improved |
m Small optimisation |
||
Line 85: | Line 85: | ||
local factors = {} | local factors = {} | ||
local m = n | local m = n | ||
for i = 2, n do | for i = 2, math.sqrt(n) + 1 do | ||
while m % i == 0 do | while m % i == 0 do | ||
factors[i] = factors[i] or 0 | factors[i] = factors[i] or 0 | ||
Line 94: | Line 94: | ||
break | break | ||
end | end | ||
end | |||
if m > 1 then | |||
factors[m] = factors[m] or 1 | |||
end | end | ||
return factors | return factors |