Module:Math functions
Εμφάνιση
Documentation for this module may be created at Module:Math functions/τεκμηρίωση
-- misc math functions
-- gts-tg@elwiki, Nov 2017
local p = {}
-- calculate gcd
local function _gcd(a,b)
if b ~= 0 then
return _gcd(b, a % b)
else
return math.abs(a)
end
end
-- return gcd
function p.gcd(frame)
local a = frame.args[1]
local b = frame.args[2]
return _gcd(a,b)
end
-- return φ(n)
function p.phi(frame)
local n = frame.args[1]
local amount = 0
for k=1, n + 1 do
if _gcd(n, k) == 1 then
amount = amount + 1
end
end
return amount-1
end
return p