2009-06-04 3 views
1

Jemand kümmert sich um dies in verschleierte Perl übersetzen? Es ist in Python geschrieben entnommen aus: hereSudoku verschleiert Python -> Perl Übersetzung

def r(a):i=a.find('0');~i or exit(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'%d'%5**18] 
from sys import*;r(argv[1]) 

Ich weiß, es ist nur so zum Spaß :)

+0

Sieht für mich ziemlich verschleiert aus! –

+1

ofuscated Code ist verschwendeter Code. Es ist nur zum Spaß und nicht wert, in eine andere Sprache zu übersetzen. –

+8

"Obfuscated Perl" ist überflüssig! –

Antwort

3
sub r{($a=shift)=~/0/g?my$i=pos:die$a;T:for$m(1..9){($i-$_)%9*(int($i/9)^int($_/9))*(int($i/27)^int($_/27)|int($i%9/3)^int($_%9/3))||$a=~/^.{$_}$m/&&next T,for 0..80;substr($a,$i,1)=$m;r($a)}}[email protected] 

Die hirntot Übersetzung. Länger, da die / von Python 2 eine Ganzzahldivision ist, während Perls Fließkommazahl ist.

2

Es schon ein paar Sudoku Solver in Obfuscated Perl geschrieben ist, sind Sie wirklich ein anderes (möglicherweise weniger effizient) wollen einen ?

Wenn nicht ...

  1. De-obfuscate.
  2. In Perl umschreiben.
  3. Obfuscate.