Pergunta

cuidados de ninguém para traduzir isso em perl ofuscado? Ele é escrito em Python tirada: aqui

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])

Eu percebo que é apenas por diversão:)

Foi útil?

Solução

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)}}r@ARGV

A tradução braindead. Mais tempo, desde de Python 2 / é inteiro divisão, enquanto Perl é de ponto flutuante.

Outras dicas

Há já alguns solucionadores de Sudoku escritos em Obfuscated Perl, você realmente quer outra (possivelmente menos eficiente)? ??

Se não ...

  1. De-Ofuscação.
  2. Rewrite em Perl.
  3. Ofuscação.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top