Advertisement
Guest User

Ruby solution

a guest
Aug 19th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.86 KB | None | 0 0
  1. def letterconv(letter)
  2.     larr = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  3.     narr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]
  4.     i = 0
  5.     while i < larr.length
  6.         if letter == larr[i]
  7.             return narr[i]
  8.         end
  9.         i += 1
  10.     end
  11. end
  12.  
  13. def gen_key_string(key,istr)
  14.     istr = istr.gsub(" ",'')
  15.     key = key.gsub(" ",'')
  16.     istr = istr.upcase
  17.     key = key.upcase
  18.     karr = key.split(//)
  19.     nkarr = []
  20.     p = 0
  21.     while nkarr.length < istr.length
  22.         p = 0
  23.         while p < karr.length
  24.             if nkarr.length == istr.length
  25.                 break
  26.             else
  27.                 nkarr << karr[p]
  28.                 p += 1
  29.             end
  30.         end
  31.     end
  32.     return nkarr
  33. end
  34.  
  35. def strconv(strarr)
  36.     narr = []
  37.     i = 0
  38.     while i < strarr.length
  39.         narr << letterconv(strarr[i])
  40.         i += 1
  41.     end
  42.     return narr
  43. end
  44.  
  45. def stradd(strarr1,strarr2)
  46.     i = 0
  47.     narr = []
  48.     while i < strarr1.length
  49.         narr << strarr1[i] + strarr2[i]
  50.         i += 1
  51.     end
  52.     return narr
  53. end
  54.  
  55. def strshort(strarr)
  56.     i = 0
  57.     narr = []
  58.     while i < strarr.length
  59.         bit = strarr[i]
  60.         if bit > 26
  61.             bit = bit - 26
  62.             narr << bit
  63.         else
  64.             narr << bit
  65.         end
  66.         i += 1
  67.     end
  68.     return narr
  69. end
  70.  
  71. def numconv(num)
  72.     larr = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  73.     narr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]
  74.     i = 0
  75.     while i < narr.length
  76.         if num == narr[i]
  77.             return larr[i]
  78.         end
  79.         i += 1
  80.     end
  81. end
  82.  
  83. def strconv2(strarr)
  84.     narr = []
  85.     i = 0
  86.     while i < strarr.length
  87.         narr << numconv(strarr[i])
  88.         i += 1
  89.     end
  90.     return narr
  91. end
  92.  
  93. ostr = "this is a complex string"
  94. osstr = ostr.upcase.gsub(" ","").split(//)
  95. key = "hello world"
  96. narr = gen_key_string(key,ostr)
  97. nosstr =  strconv(osstr)
  98. nnarr = strconv(narr)
  99. narr3 = stradd(nosstr,nnarr)
  100. narr4 = strshort(narr3)
  101. narr5 = strconv2(narr4)
  102. puts narr5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement