2のべき乗の進化


34

これは「Hello World!」進化の再投稿であり、元はユーザーHelka Hombaによって書かれました。

ここでのメタコンセンサスのため、重複して閉じられるべきではありません。

オリジナルは2年以上前に尋ねられ、6か月以上前に最後にアクティブでした。Helka Hombaからここに投稿する許可を得ています

オリジナル以来、多くの言語が発明され、多くの人々がこのサイトに参加し、オリジナルに答える機会がなかったので、この再投稿は受け入れられると思います。


課題は、プログラムの数である2^nstdoutに出力するプログラムを作成することnです。キャッチは、あなたのプログラムはあなたの前に提出された回答のプログラムから10以下のレーベンシュタイン距離を持っている必要があるということです。

これの仕組み

以下では、C#を使用して2 ^(n = 1)=を出力する最初の回答を送信し2ます。

次に回答する人は、新しい回答の言語で実行されたときに2^nn回答番号で)印刷されるように、最大​​10個の単一文字の挿入、削除、または置換でコードを変更する必要があります。たとえば、25番目の回答(Pythにあるとしましょう)は、2 ^ 25または33554432を出力します。

これは、最後の回答のプログラムを10文字だけ変更することで実行できる新しい言語がないため、全員が行き詰まるまで続きます。共同の目標は、これを維持できる時間を確認することです。そのため、不明瞭または不当なキャラクターの編集は行わないでください(ただし、これは必須ではありません)。

書式設定

投稿を次のようにフォーマットしてください:

#Answer N - [language]

    [code]

[notes, explanation, observations, whatever]

Nは回答番号です(N = 1、2、3、...)。

どの正確な文字が変更されたかを伝える必要はありません。レーベンシュタイン距離が0〜10であることを確認してください。

何らかの言語で答えたり、結果のコードが混乱している場合は、必須ではありませんが、あなたが何をしたのか、なぜそれが機能するのか説明してください

ルール

この課題について理解する重要なことは、一度に答えることができるのは1人だけであり、それぞれの答えはその前の答えに依存するということです。

同じNで2つの回答が存在することはありません。2人がNに対して同時に回答した場合、後で回答した(数秒の差があっても)回答を丁寧に削除する必要があります。

さらに...

  • ユーザーは、2つの回答を連続して送信することはできません。(たとえば、回答1を送信したので、回答2はできませんが、3はできます。)
  • 短期間で回答が多くなりすぎないようにしてください。
  • 各回答は異なるプログラミング言語である必要があります。
    • Python 2/3など、言語のさまざまなメジャーバージョンを使用できます
    • 伝統的に2つの異なる名前で呼び出される場合、言語は別個のものとしてカウントされます。(ここにはいくつかのあいまいさがありますが、コンテストを台無しにしないでください。)
  • ASCIIに固執する必要はありません。好きな文字を使用できます。レーベンシュタイン距離はユニコード文字で測定されます
  • 出力は2^n他の文字のみであり、他の文字は含まれません。(>>>またはのような抑制できない出力と同様に、空白の先頭/末尾は問題ありませんans=
  • 言語にstdoutがない場合は、テキストをすばやく出力するために一般的に使用されているもの(たとえば、console.logまたはalertJavaScript)を使用します。
  • 出力しなければならない2のべき乗が非常に大きくなると、無限の整数サイズではなく、無限のメモリを想定できます。整数オーバーフローには注意してください。
  • 科学的表記法や、言語を表現する最も自然な数値表現方法を使用できます。(単項を除き、単項で出力しないでください)

回答が有効であることを確認してください。チェーンに5つの答えが分かれていることに気付きたくありません。無効な回答はすぐに修正するか、追加の回答がある前に削除する必要があります。

どうしても必要な場合を除き、回答を編集しないでください。

得点

問題が解決したら、最も有効な回答を送信したユーザーが勝ちます。ネクタイは、累積投票数が最も多いユーザーに送られます。

回答を投稿するときにこれらを編集します。

リーダーボード

13言語

OKX

8言語

ツェッペリン

4言語

パベル
・ジョナサン・アラン・
クリティキシ・リトス・
ライカー

3言語

boboquack

2言語

bmarks
コナーオブライエン
破壊可能なスイカ
ovs
トムカーペンター

1言語

ATaco
ブロック
デニス
dzaima
エリックOutgolfer
ETHproductions
ghosts_in_the_code
レオ・
リン・
マテウスAvellar
ナサニエル
Qwerp-DERP
R.ガプス
テイラー・スコット
nimi
Mistah Figgins
PidgeyUsedGustの
steenberghは、

これまでに使用された言語:

  1. C#(Pavel)
  2. ///(boboquack)
  3. 網膜(デニス)
  4. ゼリー(ジョナソンアラン)
  5. パイス(boboquack)
  6. > <>(破壊可能なスイカ)
  7. ミンコラン(Kritixi Lithos)
  8. Perl(Pavel)
  9. Python(Qwerp-Derp)
  10. dc(R. Kap)
  11. チャコール(Jonathon Allan)
  12. 自己修正BrainFuck(レオ)
  13. SOGL(dzaima)
  14. ShapeScript(Jonathon Allan)
  15. パイク(boboquack)
  16. ルビー(ナサニエル)
  17. 05AB1E(ovs)
  18. STATA(マーク)
  19. bc(Kritixi Lithos)
  20. Japt(Okx)
  21. 2sable(Kritixi Lithos)
  22. チェダー(ジョナソンアラン)
  23. パイロン(Okx)
  24. バッシュ(ツェッペリン)
  25. Pushy(Okx)
  26. CJam(エリック・ザ・アウトゴルファー)
  27. MATL(Okx)
  28. MATLAB(トムカーペンター)
  29. オクターブ(Kritixi Lithos)
  30. R(ovs)
  31. JavaScript ES7(トムカーペンター)
  32. 凸(Okx)
  33. Mathematica(ghosts_in_the_code)
  34. ピップ(Okx)
  35. 積み上げ(コナーオブライエン)
  36. GolfScript(Okx)
  37. 実際に(リン)
  38. RProgN(Okx)
  39. スキーム(マーク)
  40. 要素(Okx)
  41. J(ブロック)
  42. Cubix(ETHproductions)
  43. zsh(ツェッペリン)
  44. VBA(テイラー・スコット)
  45. 魚(ツェッペリン)
  46. 網状(Okx)
  47. Perl 6(Pavel)
  48. RProgN2(ATaco)
  49. PHP(マテウスアヴェラー)
  50. ジョルフ(コナーオブライエン)
  51. ハスケル(nimi)
  52. Befunge-98(ミスター・フィギンズ)
  53. グヌープロト(ツェッペリン)
  54. QBIC(ステンバーグ)
  55. FOG(リッカー)
  56. Qwerty-RPN(Okx)
  57. Korn Shell(ksh)(ツェッペリン)
  58. ジュリア(リッカー)
  59. Python 3(Pavel)
  60. Vimscript(リッカー)
  61. ダッシュ(ツェッペリン)
  62. Vitsy(Okx)
  63. csh(ツェッペリン)
  64. オーム(Okx)
  65. ボッシュ(ツェッペリン)
  66. es-shell(リッカー)
  67. Gol> <>(PidgeyUsedGust)

この質問は、最も古い順に並べ替えたときに最も効果的です。


2
スニペットは本当にいいだろう
KritixiのLithos

@KritixiLithosどうやってやるのかわからないので、自由に編集してください!
パベル

1
受け入れられる@TomCarpenter、編集を行うつもりです。
パベル

1
「レーベンシュタイン距離はUTF-8文字で測定されます」とは、Unicodeコードポイントの文字列間で編集距離が計算されることを意味しますか? UTF-8、UTF-16、UCS4など))
サミリーデス

1
@SamiLiedes pavelはチャットで応答しました。それはまさにユニコードのコードポイントです。(すなわち、コード・ポイントが異なる場合、それは文字の違いです)
Rɪᴋᴇʀ

回答:


5

回答64、オーム、距離10

64º,;S)1'a"bc"<<x
2^63 
x
#??92a5*2p@^54┘#--2'3k:'2k*.@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`#(expt 2 39); ^ 
exit
 @n.out (*2 32#e#a44******O@) //2 25)
"e
"2ej
:py print(2**60)
"%d" $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024print(2**53)--0;#0}}//4|#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

追加しました 64º,;S)1'a

64º,実際のコードのみで、残りは単なるジャンクです。

このプログラムは正しい出力を印刷しますが、2 64を印刷したSTDIN にいくつかを要求します。


これはどのように起こっていますか?良くやった。
デビッドアーチボルド

5

回答17:05AB1E、距離3

#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.
#1024p#rint(512);
#0}}//4|
#β”6904”±r«"$2 
puts 16384 8*

オンラインでお試しください!


05AB1Eエラーをスローしないという事実を悪用することでうまくやった。
Okx


5

回答51、ハスケル、距離10

--2@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.out (*2 32#e#a44******O@)//2 25)#e#2ej#printf("% $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024
print(2^51)--;#0}}//4|#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

2 NLを削除^し、先頭をで置き換え、-別の先頭に追加し-、その中で削除*し、print2番目*^で置き換え、上書き49して51--印刷後に挿入します。


改行を削除しました... i cri evry tim
Pavel

真剣に、なぜあなたは改行を削除しなかった
破壊可能なレモン

haskellコメントは--であるため、先頭に--2回追加するよりも編集距離が短くなります。
パベル

@DestructibleWatermelon:行コメント--は2バイトで、NLを1つだけ削除します
nimi

5

回答67、 ゴル> <>、距離6

トランポリン#を使用して、コードを逆に追加するだけです。削除S)1'aする;ことで再利用でき、追加する必要があるのは6文字のみです。

#64º,;n*:"C"
"bc"<<x
2^66
x
#??92a5*2p@^54┘#--2'3k:'2k*.@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`#(expt 2 39); ^ 
quit()
@n.out (*2 32#e#a44******O@) //2 25)
"e
"2ej
:
py 
p
riker
i
n
t
(2**60)
"%d" $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#

オンラインでお試しください!

#他のいくつかの言語がコメント行として使用できるようにすることを考えています。


ちょうどFWIW、最後の回答に賞金が与えられた場合、おそらくあなたの答えはそれを取得しません。回答連鎖チャレンジの一般的な勝者は、1〜2週間にわたって最後の回答者であるか、または最も回答数が多い人です。
Rɪᴋᴇʀ

1
報奨金を本当に気にしないでください。これを死なせるのは残念だと思っただけです。
PidgeyUsedGust

4

回答4:ゼリー距離3

/class HelloWorld {static void Main() 0{
    System.Console.Write(2);
0}}//4|
8Ḥ

オンラインでお試しください!

すべての挿入:00Ḥ

0{そして、0}(エラーを解析抑制するために存在に起因して、空のリストからポップ{し、}されてquicksそのそれぞれ左と右の引数を使用してダイアドにターンモナドが)。

「半分にする」8で16にします。


1
最初の{(後class HelloWorld)が0前のを必要としないのに、他の2つは必要なのはなぜですか?
パベル

各行は、何かが実行される前にリンク(関数)として解析され、最後の行はプログラムへのエントリポイントです。パーサーは()、最初の行の2番目の開き中括弧がなくても問題ありません。行動するモナドがないため、3行目は中括弧で始めることはできません。
ジョナサンアラン

4

回答5:Pyth

32 "/class HelloWorld {static void Main() 0{
    System.Console.Write(2);
0}}//4|
8Ḥ

数値リテラルを出力し322との間のスペースが"(自動補完された)文字列リテラルの出力を抑制します。

+4文字- 32 "

herokuappでお試しください




3

回答20:Japt、距離8

2**20$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.
#1024p#rint(512);
#0}}//4|
#ß”6904”±r«"$2 
#puts 16384 8*di 2^18*/

オンラインでお試しください!

変更点:

変更2^192**20(4)電力を計算するために、プログラムの開始時

交換し#$最初の行にそれ以降はすべてJS(1)として解釈されます

最後の行で、プログラムの最後にを削除し/て追加した*/ため、コメントがプログラム全体を占めます(3)


申し訳ありませんが、上記の私の答えは間違っていました。最後の数字は7ではなく8である必要があります。
bmarks17年

@bmarksありがとう、編集。
Okx

3

回答27:MATL、距離4

27W%2 25)#e#2ej#printf $[2**24]#'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024p#rint(512);#0}}//4|#ß”6904”±r«"$2 #puts 16384 8*di 2^18o8*'

オンラインでお試しください!

追加しました 27W%

説明:

  W   2 to the power of
27    27
   %  Start of single line comment

3

回答50:ジョルフ、距離10

^2@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.out (*2 32#e#a44******O@)//2 25)#e#2ej#printf("% $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.#1024
print(2**49);#0}}//4|
#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

ここで試してみてください!

プリペンド ^2@2((+5)

削除された±ß#ß6904±r(+2)

óから削除しましたóout(+1)

<?から削除しました<?#"#28@P2*(+2)

合計:10. 非ASCII文字をすべて削除してください!

説明

( 解析を停止するため、コードは次のようになります。

^2@2
^      exponentiate
 2     two
  @2   to the 50 (char code of 2)

3

回答52. Befunge-98、距離8 + 2

1バイトのゴルフをしてくれた@DestructibleWatermelonに感謝します!

--2'3k:'2k*.@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.out (*2 32#e#a44******O@)//2 25)#e#2ej#printf("%d" $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024
print(2^51)--;#0}}//4|#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

オンラインでお試しください!

追加されました'3k前に2、と'2k*.の間2@

--何もせず、
'3k252 2をスタックに置き、そして
'2k*.@それら乗算し、数値を出力して終了します

また、2人のキャラクターが追加されたので、他の人の生活を楽にするためにd"あとを追加しましたprintf("%。Befunge-98プログラムには影響しません。



3

回答60、Vimscript、距離10

"bc<<<2^57 #x??92a5*2p@^54┘#--2'3k:'2k*.@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`#(expt 2 39); ^ exit @n.out (*2 32#e#a44******O@) //2 25)
"e
"2ej
:py print(2**60)
"%d" $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024print(2**53)--0;#0}}//4|#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

#中央の2行の先頭の2をに変更し、最初の行の前と最後の行の前に"a "を追加しました:py<space>

明確にするために:

" vimscriptの行コメント(少なくとも行の先頭)であり、一致する必要はありません。

Vimはpythonコードを実行できるため、これは実際にpythonに答えを求めるのと同じです。


これがPythonコードを実行している場合、どこでもこのエラーが発生しないのはなぜですか?
パベル

@Pavel最後の行のみがPythonコードとして実行されます。
Rɪᴋᴇʀ

申し訳ありませんが、修正する前にコメントを作成しました。
パベル

3

回答8:Perl

#327;N.""/class HelloWorld {static void Main() 0{;n***~
#    System.Console.
print(256);
#0}}//4|
#8Ḥ

正確に10までの距離:4 #コメントの後+1改行System.Console.、+3を形質転換するためwriteprint回転させるため、+22256

私は参加するつもりはありませんでしたが、気が狂う前にいくつかの通常の言語を追加したかったのです。

オンラインでお試しください!


3

回答49:PHP、距離6

<?#"#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.óout (*2 32#e#a44******O@)//2 25)#e#2ej#printf("% $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.#1024
print(2**49);#0}}//4|
#ß6904±r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

追加しました <??>それぞれ、PHPタグを開いたり閉じするためにた。

交換済み 4849

# PHPでコメントを開始するので、

<? print(2**49); ?>

視覚化に役立つ適切な構文の強調表示と出力のスクリーンショットを次に示します。

screenshot


2

回答2:///

/class HelloWorld {static void Main() {
    System.Console.Write(2);
}}//4

+4文字- ///4

オンラインでお試しください!


削除した回答について:8時間の要件をより主観的な「投稿しすぎないように」に変更しました。元に戻してください。
パベル

@Pavelまた別の答えを投稿したい!:P
boboquack

@boboquack先ほど提案した質問の編集に関しては、Different versions of the same language count as the same language.「使用言語」の下に「Python」だけをリストするだけで十分だと思われます。
R. Kap

@ R.Kapありがたいことに、それは実際に私が編集しようとしていたものではありませんでした。リストにマルチポスターを追加しようとすると、保存したバージョンが知らないうちに表示されました。
boboquack


2

回答11:木炭、距離5

A#327;N.""/class HelloWorld {static void Main() 0{;n***~
#    System.Console.
1024p#rint(512);
#0}}//4|
β2048

オンラインでお試しください!

大文字のギリシャ文字βは、後続のASCII文字が割り当てられる変数です。最終値は暗黙的に出力されます。


待って、なぜあなたはあなたのものを変えて答えたの10ですか?私の10番目の答えでした。
R.カップ

@ R.Kap以前に行ったような編集で11に戻りました。
ジョナサンアラン

将来的に炭を使用する場合 短い(クリア)
ASCIIのみ

@ASCIIのみああ、そうです-ありがとう!
ジョナサンアラン

2

回答10:DC、距離5

#327;N.""/class HelloWorld {static void Main() 0{;n***~
#    System.Console.
1024p#rint(512);
#0}}//4|
#8

ここにdc出力する有効なプログラムがあります1024

オンラインでお試しください!


それはチャレンジの仕組みではなく、あなたの答えが10番目の答えであり、2 ^ 10
Leo

@レオああ、ごめんなさい。それは私が投稿を適切に読んでいないために得たものです。EDIT:それが更新されました
R.ガプス

2

回答12: 自己修正ブレインファック

A#327;N<.""/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.
1024p#rint(512);
#0}}//4|
#β6904

オンラインでお試しください!

SMBFはBrainfuckに似ていますが、開始位置の左側のテープでソースコードを入手できます。ここでは、コードの最後に逆順に印刷する番号があります。<. 4桁すべてを印刷するために4回行います。

コード内<にそれぞれの前に.(3つあります)を追加し<.、最後の数字を変更しました。距離は8でなければなりません。




2

回答33:Mathematica、距離9

2^33 (*2 32#e#alert(2**31)//2 25)#e#2ej#printf $[2**24]#'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024p#rint(512);#0}}//4|#ß”6904”±r«"$2 #puts 16384 8*di 2^18o8*'*)

説明

コメント内にすべてを入れて2 ^ 33を出力します

私はこれに新しく、チェーンを壊したくないので、あなた自身を置く前にこの答えが有効であることを確認してください。


2

回答37:実際には、距離7

2:37@ⁿ.óout (*2 32#e#alert(2**31)//2 25)#e#2ej#printf $[2**24]#'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024p#rint(512);#0}}//4|#ß6904±r"$2 #puts 16384 8*di 2^18o8*'*

に置き換えられまし  36?#:37@ⁿ.ó

オンラインでお試しください!


2

回答38:RProgN、距離10

2 38 ^ exit @ⁿ.óout (*2 32#e#alert(2**31)//2 25)#e#2ej#printf $[2**24]#'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024p#rint(512);#0}}//4|#ß6904±r"$2 #puts 16384 8*di 2^18o8*'*

オンラインでお試しください!

交換し2:372 38 ^ exit (10)(末尾のスペースに注意してください)

説明:

2            2
     ^       to the power of
  38         38
       exit  Stop the prgram

2

回答47:Perl 6、距離10

#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.óout (*2 32#e#a44******O@)//2 25)#e#2ej#printf("% $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.#1024
print(2**47);#0}}//4|
#ß6904±r"$2 #puts 16384 8*di 2^18o8*'*

Perl 6はPerlとは異なると見なされます。"%after を追加してCをセットアップしようとしましたがprintf、うまくいけば誰かがそれを使用します。

オンラインでお試しください!


2

回答48:RProgN2、距離9

"#28@P2*Jp;math 2\^45#2^41 NB.`(expt 2 39); ^ exit @n.óout (*2 32#e#a44******O@)//2 25)#e#2ej#printf("% $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~
#    System<.Console<.<.#1024
print(2**47);#0}}//4|
#ß6904±r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^

"開始にa を追加して、すべてが壊れないように[[[し、最後にメモリをクリアし268*^、新しい答えを計算します。暗黙的に印刷されます。

オンラインでお試しください!


これは重要ですか?私はすでにRProgNバージョン1の回答を投稿しましたが、同じ言語の複数のバージョンが許可されるとは思いません。
Okx

RProgN 2はRProgN 1の完全な改訂版であり、Perl 6がPerl 5と十分に異なると見なされる方法と同様に、これは有効と見なされます。
アタコ

2

回答66、es(シェル)+ bc、距離8

#64º,;S)1'a
"bc"<<x
2^66
x
#??92a5*2p@^54┘#--2'3k:'2k*.@2(#"#28@P2*Jp;math 2\^45#2^41 NB.`#(expt 2 39); ^ 
quit()
@n.out (*2 32#e#a44******O@) //2 25)
"e
"2ej
:
py 
p
riker
i
n
t
(2**60)
"%d" $[2**43]bye'$/*#"A#327;N<."$"/class HelloWorld {static void Main() 0{;n***~#    System<.Console<.<.#1024print(2**53)--0;#0}}//4|#6904r"$2 #puts 16384 8*di 2^18o8*'*[[[268*^?>

に変更exitquit()iker最初の後に追加しましたr。抵抗できず、さらに4つのキャラクターを追加したかった。


しかし、目標に向かって取り組む必要があります; _;
破壊可能なレモン

それは私にとって8の距離のように聞こえます。
サミリーデス

@SamiLiedesあなたは正しい、修正。
Rɪᴋᴇʀ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.