数独混淆Python -> Perl 翻译

发布于 2024-07-23 19:05:27 字数 382 浏览 10 评论 0原文

有人愿意将其翻译成混淆的 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])

我意识到这只是为了好玩:)

Anybody care to translate this into obfuscated perl? It's written in Python taken from: here

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

I realize it's just for fun :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧人哭 2024-07-30 19:05:27
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 是浮点除法。

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

The braindead translation. Longer, since Python 2's / is integer division while Perl's is floating-point.

东走西顾 2024-07-30 19:05:27

已经有一些用 Obfuscated Perl 编写的数独求解器,您真的想要另一个(可能效率较低)吗?

如果不是……

  1. 去混淆。
  2. 用 Perl 重写。
  3. 混淆。

There already are a few Sudoku solvers written in Obfuscated Perl, do you really want another (possibly less efficient) one?

If not...

  1. De-obfuscate.
  2. Rewrite in Perl.
  3. Obfuscate.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文