(言語)ヘビはどのくらいですか?


14

3次クインチャレンジに続いて、できるだけ多くの言語を使用するOuroborosプログラムを作成します。

つまり、言語Aで、プログラムBを言語Bで出力するプログラムpAを作成します。プログラムpBは、言語CでプログラムpCを出力する必要があります。

ループ内の2つの言語を同じにすることはできません。また、互いにサブセットまたはスーパーセットにすることもできません。ループ内のプログラムはどれも同一ではありません。

最も長い言語のチェーンが勝ちます。ソースコードの長さは、タイブレーカーになります。

以下は、Venteroが提供した長さ3のソリューションの例です。

s='print q<puts %%q{s=%r;print s%%s}>';print s%s

PythonでこのPerlスニペットを生成します

print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>

次のRubyコードを生成します

puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}

次に、元のPythonスニペットを出力します。

s='print q<puts %%q{s=%r;print s%%s}>';print s%s



@Ypnypnそれはそれの複製ではありませんか?これは、ソースコードの長さのタイブレーカーでループをできるだけ長くすることです。これまでに長さ4のウロボロスを投稿する機会は誰もありませんでした:)また、ループはチェーンとは異なります。

実際にはこれと非常に似ていますが、シーケンスをループさせる必要がないため、クインコンポーネントはありませんでした。
マーティンエンダー14

4
私たちが始める前から、50の言語の獣が勝者のようです。

回答:


8

4つの言語のループを次に示します。

C-> Bash->バッチ-> Python-> C

C

main(){char *c="echo %cecho print %cmain(){char *c=%c%c%s%c%c;printf(c,34,39,92,34,c,92,34,39,34);}%c%c";printf(c,34,39,92,34,c,92,34,39,34);}

バッシュ

echo "echo print 'main(){char *c=\"echo %cecho print %cmain(){char *c=%c%c%s%c%c;printf(c,34,39,92,34,c,92,34,39,34);}%c%c\";printf(c,34,39,92,34,c,92,34,39,34);}'"

バッチ

echo print 'main(){char *c="echo %cecho print %cmain(){char *c=%c%c%s%c%c;printf(c,34,39,92,34,c,92,34,39,34);}%c%c";printf(c,34,39,92,34,c,92,34,39,34);}'

Python

print 'main(){char *c="echo %cecho print %cmain(){char *c=%c%c%s%c%c;printf(c,34,39,92,34,c,92,34,39,34);}%c%c";printf(c,34,39,92,34,c,92,34,39,34);}'

非常に印象的!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.