Pour une première approche de ce langage, je vous propose l’analyse du
Plus Court Solveur de Sudoku #
Voici un programme en Python de 173 caractères seulement qui serait le plus court solveur de sudoku connu actuellement :
<code>def r(a): i=a.find(‘0’) if i<0:print a [m in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)]or r(a[:i]+m+a[i+1:])for m in`14**7*9`]r(raw_input())</code>
Ce programme est extrêmement compact et condensé, voire cryptique à l’instar des Cignatures. Ce n’est pas forcément la meilleure façon de programmer, mais ça révèle souvent la puissance cachée de certains langages. Ce programme est décrit en anglais et en détail ici, mais voici son principe en gros et en français:
(la suite sur le blog de Dr. Goulu)