Entry 3970
Número de divisores
Submitted by Diego
on May 19, 2010 at 3:10 a.m.
Language: Lua. Code size: 551 bytes.
function D (n) local limit = math.floor(math.sqrt(n)) local d = 1 -- contamos que 1 es divisor for i=2, limit do -- y empezamos de 2 if n % i == 0 then -- Por cada divisor debajo de la raíz -- hay un divisor encima de la raíz d = d + 2 end end -- Corregir si es un cuadrado perfecto if limit*limit == n then d = d - 1 end -- Quitar lo siguiente si sólo queremos los -- divisores propios. -- Si es distinto de uno, tenemos un divisor más if n ~= 1 then d = d + 1 -- Sí mismo end return d end
This snippet took 0.01 seconds to highlight.
Back to the Entry List or Home.