Skip to content

Instantly share code, notes, and snippets.

@kaiwren
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kaiwren/5a26b24be25d81b82c42 to your computer and use it in GitHub Desktop.
Save kaiwren/5a26b24be25d81b82c42 to your computer and use it in GitHub Desktop.
Answering a question asked on the Fb Learn Ruby Programming group
class Queen
def initialize(arrayLength)
@array = Array.new(arrayLength)
end
def starter
enumerate(@array,0)
end
def enumerate(q,n)
if n == q.length
printQueen(q)
else
for i in 0..(q.length-1)
q[n] = i
if isConsistent(q,n)
enumerate(q,n+1)
end
end
end
end
def isConsistent(q,n)
n.times do |i|
return false if (q[i] == q[n])
return false if ((q[i] - q[n]) == (n-1) )
return false if ((q[n] - q[i]) == (n-1) )
return true
end
end
def printQueen(q)
for i in 0..(q.length-1)
for j in 0..(q.length-1)
if q[i] == j
print "Q"
else
print "*"
end
end
puts ""
end
puts ""
end
end
queens = Queen.new(4)
queens.starter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment