fr1kin

find prime factors

Apr 13th, 2014
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.75 KB | None | 0 0
  1. local function findPrimeFactors(...)
  2.     local args = {...};
  3.     local largestnum, num = 0, 0, 0;
  4.     for i, arg in ipairs(args) do
  5.         if(arg > largestnum) then
  6.             largestnum = arg;
  7.         end
  8.     end
  9.     local factors = {};
  10.     local primes = findPrimes(largestnum)
  11.     for i, arg in ipairs(args) do
  12.         factors[arg] = {};
  13.         for _, prime in ipairs(primes) do
  14.             num = arg;
  15.             while(num % prime == 0) do
  16.                 factors[arg][prime] = ((factors[arg][prime] == nil and 1) or (factors[arg][prime] + 1));
  17.                 num = num / prime;
  18.             end
  19.         end
  20.     end
  21.     for numb, tab in pairs(factors) do
  22.         print("arg:", numb)
  23.         local multi = 1;
  24.         for factor, power in pairs(tab) do
  25.             print("-->", factor .. "^" .. power);
  26.             multi = multi * (factor ^ power);
  27.         end
  28.         print("---->", multi);
  29.     end
  30. end
Advertisement
Add Comment
Please, Sign In to add comment