Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.54 KB | None | 0 0
  1. local floor,insert = math.floor, table.insert
  2. function basen(n,b)
  3.     n = floor(n)
  4.     if not b or b == 10 then return tostring(n) end
  5.     local digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  6.     local t = {}
  7.     local sign = ""
  8.     if n < 0 then
  9.         sign = "-"
  10.     n = -n
  11.     end
  12.     repeat
  13.         local d = (n % b) + 1
  14.         n = floor(n / b)
  15.         insert(t, 1, digits:sub(d,d))
  16.     until n == 0
  17.     return sign .. table.concat(t,"")
  18. end
  19.  
  20. local Crz = {
  21.     ["0"] = { ["0"] = "1", ["1"] = "0", ["2"] = "0" },
  22.     ["1"] = { ["0"] = "1", ["1"] = "0", ["2"] = "2" },
  23.     ["2"] = { ["0"] = "2", ["1"] = "2", ["2"] = "1" }
  24. }
  25.  
  26.  
  27. function Crazy( Integer1, Integer2 )
  28.     Integer1, Integer2 = basen(Integer1,3),basen(Integer2,3)
  29.     print( Integer1, Integer2 )
  30.     if string.len( Integer1 ) > string.len( Integer2 ) then
  31.         Integer2 = string.rep( "0", string.len( Integer1 ) - string.len( Integer2 ) ) .. Integer2;
  32.     end
  33.     if string.len( Integer1 ) < string.len( Integer2 ) then
  34.         Integer1 = string.rep( "0", string.len( Integer2 ) - string.len( Integer1 ) ) .. Integer1;
  35.     end
  36.    
  37.     -- String are now equal length
  38.    
  39.     local Return = "";
  40.     for i=1, string.len( Integer1 ) do
  41.         Return = Return .. Crz[Integer1:sub(i,i)][Integer2:sub(i,i)];
  42.     end
  43.    
  44.     return tonumber(Return, 3)
  45.    
  46. end
  47.  
  48.  
  49. io.write("Enter the first int\n")
  50. io.flush()
  51. i1=io.read()
  52.  
  53. io.write("Enter the second int\n")
  54. io.flush()
  55. i2=io.read()
  56.  
  57. print( "Crz = ".. Crazy( tonumber(i1), tonumber(i2) ) )
  58.  
  59. io.write("continue with this operation (y/n)? ")
  60. io.flush()
  61. answer=io.read()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement