Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
45
Task/M-bius-function/Lua/m-bius-function.lua
Normal file
45
Task/M-bius-function/Lua/m-bius-function.lua
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
function buildArray(size, value)
|
||||
local tbl = {}
|
||||
for i=1, size do
|
||||
table.insert(tbl, value)
|
||||
end
|
||||
return tbl
|
||||
end
|
||||
|
||||
MU_MAX = 1000000
|
||||
sqroot = math.sqrt(MU_MAX)
|
||||
mu = buildArray(MU_MAX, 1)
|
||||
|
||||
for i=2, sqroot do
|
||||
if mu[i] == 1 then
|
||||
-- for each factor found, swap + and -
|
||||
for j=i, MU_MAX, i do
|
||||
mu[j] = mu[j] * -i
|
||||
end
|
||||
-- square factor = 0
|
||||
for j=i*i, MU_MAX, i*i do
|
||||
mu[j] = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for i=2, MU_MAX do
|
||||
if mu[i] == i then
|
||||
mu[i] = 1
|
||||
elseif mu[i] == -i then
|
||||
mu[i] = -1
|
||||
elseif mu[i] < 0 then
|
||||
mu[i] = 1
|
||||
elseif mu[i] > 0 then
|
||||
mu[i] = -1
|
||||
end
|
||||
end
|
||||
|
||||
print("First 199 terms of the mobius function are as follows:")
|
||||
io.write(" ")
|
||||
for i=1, 199 do
|
||||
io.write(string.format("%2d ", mu[i]))
|
||||
if (i + 1) % 20 == 0 then
|
||||
print()
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue