Posted By

gdonald on 09/27/06


Tagged

sudoku solver


Versions (?)

Who likes this?

6 people have marked this snippet as a favorite

mzim
dapan
zemariamm
skammer
webstic
davidsi


Ruby sudoku solver


 / Published in: Ruby
 

  1. #!/usr/bin/ruby
  2.  
  3. 10.times do
  4. s = 0
  5. 1.upto(9) do |x|
  6. 1.upto(9) do |y|
  7. 1.upto(9) do |z|
  8. if x + y + z == 15 && x != y && x != z && y != z
  9. 1.upto(9) do |a|
  10. 1.upto(9) do |b|
  11. 1.upto(9) do |c|
  12. if( ( a + b + c == 15) && ( ( a != b ) && ( a != c ) && ( b != c ) ) )
  13. 1.upto(9) do |i|
  14. 1.upto(9) do |o|
  15. 1.upto(9) do |p|
  16. if( ( i + o + p == 15 ) && ( ( i != o ) && ( i != p ) && ( o != p ) ) )
  17. if( ( x + a + i == 15 ) && ( ( x != a ) && ( x != i ) && ( a != i ) ) )
  18. if( ( y + b + o == 15 ) && ( ( y != b ) && ( y != o ) && ( b != o ) ) )
  19. if( ( z + c + p == 15 ) && ( ( z != c ) && ( z != p ) && ( c != p ) ) )
  20. if( ( x != b ) && ( x != c ) && ( x != o ) && ( x != p ) )
  21. if( ( y != a ) && ( y != i ) && ( y != c ) && ( y != p ) )
  22. if( ( z != b ) && ( z != a ) && ( z != o ) && ( z != i ) )
  23. s += 1
  24. $stdout.print "Solution ##{s}:\n"
  25. $stdout.print "#{x} #{y} #{z}\n"
  26. $stdout.print "#{a} #{b} #{c}\n"
  27. $stdout.print "#{i} #{o} #{p}\n\n"
  28. end
  29. end
  30. end
  31. end
  32. end
  33. end
  34. end
  35. end
  36. end
  37. end
  38. end
  39. end
  40. end
  41. end
  42. end
  43. end
  44. end
  45. end
  46. end

Report this snippet  

You need to login to post a comment.