Sudoku: Difference between revisions
→{{header|EasyLang}}
Thundergnat (talk | contribs) m (syntax highlighting fixup automation) |
|||
Line 3,168:
=={{header|EasyLang}}==
<syntaxhighlight lang="text">
len
len
len box[] 90
len grid[] 82
#
func init . .
for pos
if pos mod 9 =
s$
s$ = input
.
for i = 1 to len s$
if substr s$ i 1 <> " "
inp[] &= number substr s$ i 1
.
.
if dig > 0
grid[pos] = dig▼
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
write grid[i] & " "
if i mod 3 =
write " "
.
if i mod 9 =
print ""
.
if i mod 27 =
print ""
.
Line 3,209 ⟶ 3,221:
pos += 1
.
if pos
# 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
#
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
7 9 0 0 0 0
9 6 0 0 1 0 3 0 0▼
0
▲9 6 0 0 1 0 3 0 0
0 5 0 6 9 0 0 1 0
</syntaxhighlight>
=={{header|Elixir}}==
|