Sudoku: Difference between revisions
Content added Content deleted
Line 4,270: | Line 4,270: | ||
| Some seqx when Seq.isEmpty seqx -> some sx |
| Some seqx when Seq.isEmpty seqx -> some sx |
||
| Some seq -> Ok seq |
| Some seq -> Ok seq |
||
| _ -> Error " |
| _ -> Error "No solution" |
||
// Choose the unfilled square(s) s with the fewest possibilities |
// Choose the unfilled square(s) s with the fewest possibilities |
||
[for s in squares do if Seq.length values[s] > 1 then Seq.length values[s] ,s] |
[for s in squares do if Seq.length values[s] > 1 then Seq.length values[s] ,s] |
||
Line 4,317: | Line 4,317: | ||
printfn $"Puzzles:{num}, Total:{total} ms, Average:{((float total) /(float num))} ms" |
printfn $"Puzzles:{num}, Total:{total} ms, Average:{((float total) /(float num))} ms" |
||
printfn "Press any key to exit" |
|||
Console.ReadKey() |> ignore |
Console.ReadKey() |> ignore |
||
0 |
0 |
||
Line 4,387: | Line 4,386: | ||
5 9 8 |7 3 6 |2 4 1 |
5 9 8 |7 3 6 |2 4 1 |
||
Elapsed milliseconds = |
Elapsed milliseconds = 9 ms |
||
First 10000 puzzles in sudoku17 |
First 10000 puzzles in sudoku17 |
||
Puzzles:10000, Total: |
Puzzles:10000, Total:51304 ms, Average:5.1304 ms</pre> |
||
Press any key to exit</pre> |
|||
===The Function SLPsolve=== |
===The Function SLPsolve=== |