RosettaCodeData/Task/Josephus-problem/Ruby/josephus-problem.rb

14 lines
228 B
Ruby

def main
n = (ARGV[0] || 41).to_i
k = (ARGV[1] || 3).to_i
puts josephus(n,k)
end
def josephus(n, k)
prisoners = (0...n).to_a
prisoners.rotate!(k-1).shift while prisoners.length > 1
return prisoners.first
end
main