Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
33
Task/Tau-function/Lua/tau-function.lua
Normal file
33
Task/Tau-function/Lua/tau-function.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
function divisorCount(n)
|
||||
local total = 1
|
||||
-- Deal with powers of 2 first
|
||||
while (n & 1) == 0 do
|
||||
total = total + 1
|
||||
n = math.floor(n / 2)
|
||||
end
|
||||
-- Odd prime factors up tot eh square root
|
||||
local p = 3
|
||||
while p * p <= n do
|
||||
local count = 1
|
||||
while n % p == 0 do
|
||||
count = count + 1
|
||||
n = n / p
|
||||
end
|
||||
total = total * count
|
||||
p = p + 2
|
||||
end
|
||||
-- If n > 1 then it's prime
|
||||
if n > 1 then
|
||||
total = total * 2
|
||||
end
|
||||
return total
|
||||
end
|
||||
|
||||
limit = 100
|
||||
print("Count of divisors for the first " .. limit .. " positive integers:")
|
||||
for n=1,limit do
|
||||
io.write(string.format("%3d", divisorCount(n)))
|
||||
if n % 20 == 0 then
|
||||
print()
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue