ho trovato su Internet un interessante programmino in perl di soli tre righi che riesce a risolvere qualsiasi schema di Sudoku 9x9 con solo tre righe di codice! (in realtà il codice funziona scrivendolo anche tutto su una sola riga!!!).
La spiegazione del programma col relativo codice la si può trovare qui.
Per comodità riporto di seguito il codice:
- Codice: Seleziona tutto
use integer;@A=split//,<>;sub R{for$i(0..80){next if$A[$i];my%t=map{$_/9
==$i/9||$_%9==$i%9||$_/27==$i/27&&$_%9/3==$i%9/3?$A[$_]:0=>1}0..80;R($A[
$i]=$_)for grep{!$t{$_}}1..9;return$A[$i]=0}die@A}R
Sto cercando di tradurre in C tale codice senza perderne, però, al tempo stesso, la bellezza intrinseca dello stesso.
La cosa mi sembra piuttosto complicata (almeno per me) e cerco qualche volenteroso che voglia collaborare nella stesura...
Per il momento non ho ancora iniziato la conversione vera e propria ma mi sono limitato a studiarne il funzionamento.
Ho pensato che dovendo essere tale codice gioco-forza piuttosto breve, si possa utilizzare questo topic per qualsiasi contributo al codice.
Grazie per l'attenzione.
Un saluto,
infinito1971