Skip to content

Instantly share code, notes, and snippets.

@ishankhare07
Created June 12, 2015 11:33
Show Gist options
  • Save ishankhare07/28b7692496b3e75a7441 to your computer and use it in GitHub Desktop.
Save ishankhare07/28b7692496b3e75a7441 to your computer and use it in GitHub Desktop.
ruby permutations
def shuffle(number)
ret_arr = []
f = fact(number.to_s.size)
count = 0
while count < f/2 do
if count == 0
ret_arr.push(number)
ret_arr.push(number.to_s.reverse.to_i)
else
num_arr = number.to_s.split(//)
last = num_arr.shift
num_arr.push(last)
number = num_arr.join.to_i
reverse_number = num_arr.reverse.join.to_i
ret_arr.push(number)
ret_arr.push(reverse_number)
end
count += 1
end
p ret_arr.sort!
end
def fact(number)
ret = 1
while number > 0
ret *= number
number -= 1
end
return ret
end
shuffle(1234)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment