Permutations Computer (2)
Join the DZone community and get the full member experience.
Join For Free
###### '0123' ==> '1234'
def conv(base,s)
s.split('').map {|c| (c.to_i(base)+1).to_s(base+1)}
end
def permutation(n)
num=(n**n) - 1
(0..num).to_a.map do|u|
sn = u.to_s(n) # num in base n
str =sn.rjust(n,'0') # left pad with '0'
conv(n,str)
end
end
permutation(ARGV[0].to_i).each { |i| p i }
Computer
Opinions expressed by DZone contributors are their own.
Comments