Sudoku: Difference between revisions
m
→{{header|Sidef}}: improved and fixed the code to work with the latest version of Sidef
m (→{{header|Sidef}}: improved and fixed the code to work with the latest version of Sidef) |
|||
Line 7,014:
=={{header|Sidef}}==
{{trans|Perl 6}}
<lang ruby>
var (id, im) = i.divmod(9);
var (jd, jm) = j.divmod(9);
jd == id && return true;
jm == im && return true;
var id2 = int(id/3);
var jd2 = int(jd/3);
jd2 == id2 || return false;
int(jm/3) == int(im/3)
}
func solve(board) {
board.range.each { |i|
var t = board
_check(i,
-> each {|k| board[i] = k; solve(board) };
▲ ];
board[i] = 0;
return;
}
board.range.each { |i|
print "#{board[i]} ";
}
}
var board = %
5 3 0 0 2 4 7 0 0
0 0 2 0 0 0 8 0 0
Line 7,053 ⟶ 7,063:
9 6 0 0 1 0 3 0 0
0 5 0 6 9 0 0 1 0
);
solve(board);</lang>
Line 7,068 ⟶ 7,078:
9 6 7 4 1 5 3 2 8
2 5 3 6 9 8 4 1 7 </pre>
=={{header|Swift}}==
{{trans|Java}}
|