Sudoku: Difference between revisions

m (syntax highlighting fixup automation)
Line 3,168:
 
=={{header|EasyLang}}==
<syntaxhighlight lang="text">len row[] 810
len colrow[] 81090
len boxcol[] 81090
len box[] 90
len grid[] 82
#
func init . .
for pos range= 1 to 81
if pos mod 9 = 01
s$[] = strsplit input " "
r = posif divs$ = 9""
s$ = input
.
c = poslen modinp[] 90
for i = 1 to len s$
if substr s$ i 1 <> " "
inp[] &= number substr s$ i 1
0 0 8 0 7 2 0 4 9.
.
.
dig = number s$inp[(pos - 1) mod 9 + 1]
if dig > 0
grid[pos] = dig
b = r div 3 *= 3(pos +- c1) div 39
c = (pos - 1) mod 9
b = r div 3 * 3 + c div 3
row[r * 10 + dig] = 1
col[c * 10 + dig] = 1
box[b * 10 + dig] = 1
.
dig = number s$[pos mod 9]
grid[pos] = dig
r = pos div 9
c = pos mod 9
b = r div 3 * 3 + c div 3
row[r * 10 + dig] = 1
col[c * 10 + dig] = 1
box[b * 10 + dig] = 1
.
.
Line 3,191 ⟶ 3,203:
#
func display . .
for i range= 1 to 81
write grid[i] & " "
if i mod 3 = 20
write " "
.
if i mod 9 = 80
print ""
.
if i mod 27 = 260
print ""
.
Line 3,209 ⟶ 3,221:
pos += 1
.
if pos => 81
# solved
call display
break 1
.
r = (pos - 1) div 9
c = (pos - 1) mod 9
b = r div 3 * 3 + c div 3
r *= 10
Line 3,234 ⟶ 3,246:
grid[pos] = 0
.
call solve 01
#
input_data
5 3 0 0 2 4 7 0 0
0 0 2 0 0 0 8 0 0
1 0 0 7 0 3 9 0 2
 
0 0 8 0 7 2 0 4 9
0 2 0 9 8 0 0 7 2 0 4 9
70 92 0 0 09 8 0 0 87 0
7 9 0 0 0 0 3 0 58 0 6
 
9 6 0 0 1 0 3 0 0
0 50 0 6 9 0 3 0 1 5 0</syntaxhighlight> 6
9 6 0 0 1 0 3 0 0
0 5 0 6 9 0 0 1 0
</syntaxhighlight>
 
=={{header|Elixir}}==
2,083

edits