Module:Factorization and Module:Factorization/sandbox: Difference between pages
Appearance
(Difference between pages)
Content deleted Content added
use locals, move var use to where used |
fix closing span |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
function p.factor(frame) |
function p.factor(frame) |
||
-- Consider calling the parser function #expr |
|||
-- to simplify a potential mathematical expression? |
|||
number = tonumber(frame.args[1]) |
|||
if number == nil then |
if number == nil then |
||
return '<strong class="error">Error: input not recognized as a number</strong>' |
return '<strong class="error">Error: input not recognized as a number</strong>' |
||
end |
end |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
number = math.floor(number) |
number = math.floor(number) |
||
if number < 2 or number > 1000000000 or number == math.huge then |
if number < 2 or number > 1000000000 or number == math.huge then |
||
Line 32: | Line 20: | ||
end |
end |
||
result = "" |
|||
currentNumber = number |
|||
power = 0 |
|||
divisor = 2 |
|||
⚫ | |||
-- Attempt factoring by the value of the divisor |
-- Attempt factoring by the value of the divisor |
||
-- divisor increments by 2, except first iteration (2 to 3) |
-- divisor increments by 2, except first iteration (2 to 3) |
||
while divisor <= math.sqrt(currentNumber) do |
while divisor <= math.sqrt(currentNumber) do |
||
power = 0 |
power = 0 |
||
Line 56: | Line 44: | ||
end |
end |
||
⚫ | |||
if currentNumber == number and primeLink then |
if currentNumber == number and primeLink then |
||
return '[[prime number|prime]]' |
return '[[prime number|prime]]' |
||
Line 63: | Line 50: | ||
result = string.sub(result,1,-4) |
result = string.sub(result,1,-4) |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||