class Algorithmable::Puzzles::JosephusProblem
Public Class Methods
new(prisoners, every)
click to toggle source
# File lib/algorithmable/puzzles/josephus_problem.rb, line 6 def initialize(prisoners, every) @prisoners = prisoners @every = every end
Public Instance Methods
solve()
click to toggle source
# File lib/algorithmable/puzzles/josephus_problem.rb, line 11 def solve queue = new_fifo_queue @prisoners.times { |item| queue.enqueue(item) } positions = [] until queue.empty? (@every - 1).times do queue.enqueue queue.dequeue end positions << queue.dequeue end positions end