Sudoku: Difference between revisions
Content deleted Content added
Thundergnat (talk | contribs) m syntax highlighting fixup automation |
|||
Line 3,168: | Line 3,168: | ||
=={{header|EasyLang}}== |
=={{header|EasyLang}}== |
||
<syntaxhighlight lang="text"> |
<syntaxhighlight lang="text"> |
||
len |
len row[] 90 |
||
len |
len col[] 90 |
||
len box[] 90 |
|||
len grid[] 82 |
len grid[] 82 |
||
# |
# |
||
func init . . |
func init . . |
||
for pos |
for pos = 1 to 81 |
||
if pos mod 9 = |
if pos mod 9 = 1 |
||
s$ |
s$ = input |
||
⚫ | |||
s$ = input |
|||
. |
|||
⚫ | |||
for i = 1 to len s$ |
|||
if substr s$ i 1 <> " " |
|||
inp[] &= number substr s$ i 1 |
|||
⚫ | |||
. |
|||
. |
|||
⚫ | |||
if dig > 0 |
|||
⚫ | |||
⚫ | |||
c = (pos - 1) mod 9 |
|||
b = r div 3 * 3 + c div 3 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
. |
. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
. |
. |
||
. |
. |
||
Line 3,191: | Line 3,203: | ||
# |
# |
||
func display . . |
func display . . |
||
for i |
for i = 1 to 81 |
||
write grid[i] & " " |
write grid[i] & " " |
||
if i mod 3 = |
if i mod 3 = 0 |
||
write " " |
write " " |
||
. |
. |
||
if i mod 9 = |
if i mod 9 = 0 |
||
print "" |
print "" |
||
. |
. |
||
if i mod 27 = |
if i mod 27 = 0 |
||
print "" |
print "" |
||
. |
. |
||
Line 3,209: | Line 3,221: | ||
pos += 1 |
pos += 1 |
||
. |
. |
||
if pos |
if pos > 81 |
||
# solved |
# solved |
||
call display |
call display |
||
break 1 |
break 1 |
||
. |
. |
||
r = pos div 9 |
r = (pos - 1) div 9 |
||
c = pos mod 9 |
c = (pos - 1) mod 9 |
||
b = r div 3 * 3 + c div 3 |
b = r div 3 * 3 + c div 3 |
||
r *= 10 |
r *= 10 |
||
Line 3,234: | Line 3,246: | ||
grid[pos] = 0 |
grid[pos] = 0 |
||
. |
. |
||
call solve |
call solve 1 |
||
# |
# |
||
input_data |
input_data |
||
5 3 0 0 2 4 7 0 0 |
5 3 0 0 2 4 7 0 0 |
||
0 0 2 0 0 0 8 0 0 |
0 0 2 0 0 0 8 0 0 |
||
1 0 0 7 0 3 9 0 2 |
1 0 0 7 0 3 9 0 2 |
||
⚫ | |||
0 |
0 0 8 0 7 2 0 4 9 |
||
0 2 0 9 8 0 0 7 0 |
|||
0 0 0 0 |
7 9 0 0 0 0 0 8 0 |
||
⚫ | |||
0 |
0 0 0 0 3 0 5 0 6 |
||
⚫ | |||
0 5 0 6 9 0 0 1 0 |
|||
</syntaxhighlight> |
|||
=={{header|Elixir}}== |
=={{header|Elixir}}== |