1

これを難読化された perl に翻訳してくれる人はいますか? Python で書かれています。

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

私はそれがただの楽しみのためであることを理解しています:)

4

2 に答える 2

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

ブレインデッド翻訳。より長く、Python 2/は整数除算であり、Perlは浮動小数点であるためです。

于 2009-06-04T17:56:56.537 に答える
2

難読化された Perl で書かれた数独ソルバーが既にいくつかありますが、別の (おそらく効率の悪い) ソルバーが本当に必要ですか?

そうでなければ...

  1. 難読化を解除します。
  2. Perlで書き直します。
  3. 難読化します。
于 2009-06-04T16:36:19.283 に答える