アナグロットポリグラム


19

仕事

それぞれが1からnまでの異なる数を出力するnの異なる言語で、nの異なるプログラムに再配置できるコードを記述します。

2つの言語が同じであってはなりませんが、メジャーバージョン番号が異なる限り、「同じ言語」の異なるバージョンは異なる言語と見なされます。この課題に対して、REPL環境は親言語と区別されませんが、依然として言語です。各言語は、ソースコードの異なる順列で実行され、範囲内の異なる番号を出力する必要があります。

順列は、文字ではなくバイトでカウントされます。

テスト目的で実行される言語で実行される各順列を含める必要があります。

得点

あなたのスコアは

スコアリング方程式

ここで、Nは言語の数、Lはプログラムバイトの一意の順序の数です。

Lはプログラムの長さと等しくありません

(プログラムが1または0バイトでない場合)

以下は、Conor O'Brienのご厚意によりLを計算するpythonスクリプトです。

Lは、プログラムに繰り返しバイトがない場合にのみ、プログラムの階乗の長さに等しくなります。

目標は、スコアを最大化することです。



コメントは許可されていますか?
アダム

@Adámコメントを禁止する合理的な方法はないだろう
ウィートウィザード

#5つの言語でコメントシンボルがある場合、適切な解決策は1#2345
アダム

1/6のスコアを与える@Adám。2バイトのプログラム(または1バイトのプログラム)で1のスコアが簡単に得られると確信しています。さらに数字を追加すると、スコアが下がります。
マーティンエンダー

回答:


30

34言語、19バイト、スコア:38,832,018,459,912,437,760,000

ここに私が一緒に投げた簡単な答えがあり、1より良いスコアを得ることができることを示しています。

 12233echo*+--@#..;

1. NTFJ

#*22331+..@o;-- ech

これは、メタコンセンサスで許可されている文字コードを介して出力されます。

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

2. Tcsh

echo 2;#..1@2+33*--

3. 05AB1E

2231*+..@echo ;--#3

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

4.実際に

@..o; eho1#c3223-*+-

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

5. Befunge 98

23+.@.21*#3o;-- ech

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

6.キュビックス

123+23*o@#;-- ech..

文字コードによる出力

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

展開されたコード:

    1 2
    3 +
2 3 * o @ # ; -
- e c h . . . .
    . .
    . .

7. Haskell 8 REPL

3+2*2 --31#;@..echo

8.真剣に

@..o; eho1#c3223-+*-

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

9.> <>

33*o;2+..@#12-- ech

文字コードによる出力

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

10. Befunge

33*1+.@.#22o;-- ech

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

11.頭脳

323*+..@echo ;--#12

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

12. 2セーブル

233*+..@echo ;--#12

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

13.六角形

13;2#2+@*3o-- ech..

文字コードによる出力

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

展開されたコード:

  1 3 ;
 2 # 2 +
@ * 3 o -
 - e c h
  . . .

14. R

12+2#*33..@o; ech

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

15. bc

12+3#*23..@o;-- ech

16. Python 3 REPL

13+3#*22..@o;-- ech

17. irb(Ruby 2.4 REPL)

13+2*2#3..@o;-- ech

18. PowerShell

12+2*3#3..@o;-- ech

19. Python 2 REPL

13+2*3#2..@o;-- ech

20. Python 1.6.1 REPL

23-3#-+*21..@o; ech

21. Ksh

echo 21;#..2@3+3*--

22.バッシュ

echo 22;#..1@3+3*--

23. Zsh

echo 23;#..1@2+3*--

24. Applescript

23+1 --#2*3..@o;ech

25. Lua REPL

23+2 --#1*3..@o;ech

26.ジュリアREPL

23+3 #2*1..@o;--ech

27. irb(Ruby 1.9.3 REPL)

13*2+3-2 #..@o;-ech

28. Haskell 7 REPL

13*2+2--3#;@.. echo

29. J

echo --1#.23;@+2*.3

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

30.ニム

echo 33-2-1;#..@2+2*

31.魚

echo 31;#3-2-..@2+2*

32. PHP

echo 32;#+123*@..--

<?phpこのメタのために必要ありません

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

33. Golfscript

3.#.1223*@+o;-- ech

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

34.オクターブ

33+1 #22echo*--@..;

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


5
そして私はREPL対応言語憎む理由です
氏Xcoder

1
.別の言語を追加すると、11になります。J:2#.2+3*3
コナーオブライエン



@WheatWizard Jは技術的にはREPLです。echo 出力を表示するには、コードにプレフィックスを付けます。
コナーオブライエン

11

1言語、0バイト、スコア1

このチャレンジでどのように高いスコアが得られるかわかりませんので、このスポットを見てみましょう。


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

Retinaでは、入力のない空のプログラムが出力されます1

スコア= 1!/ 0!= 1/1 = 1


7
これは一見冗談の答えのように見えますが、これまでで最高のスコアを持っています
...-trichoplax

1バイトの単一言語エントリで同じスコアですか?
アダム

@Adámええ、1Rのように、たとえば
ジュゼッペ

5
ゼリーでは、これが出力0するので、2言語=>スコア= 2
Xcoder氏

5
@ Mr.Xcoderいいえ、それはスコアリングの仕組みではありません。1からnを出力する必要があり、それぞれが個別の順列にある必要があります。
ウィートウィザード

6

2言語、2バイト、スコア1

レオの答えに勝るものはありませんが、私は2言語のソリューションを提示すると思いました(とにかく、ウィートウィザードはとにかくスコア2の答えを出しました)。

網膜、プリント1

2`

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

これは、Leoの空のプログラムと本質的に同じです。

Pyth、プリント2

`2

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

これにより、どちらがとして印刷されるかがrepr(2)計算"2"され2ます。


5

26言語、46バイト、スコア:1.68861953e-28(0.000000000000000000000000000000000168861953)

すべての言語は主流の言語であり(つまり、開発中の人々が実際に使用しています)、どの言語にもREPLソリューションはありません。この答えは決して勝つことはありませんが、それはそれを投稿しない理由ではありません...

//#**print()ale123456789+chous :f{}:""enttd *;

1. Python 2

print 1#//**()alechous:f{}:23456789+ ""enttd*;

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

2. Python 3

print(2)#//**alechous13456789+: f{}: ""enttd*;

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

3.ルビー

puts 3#//**()alecho:f12456789+{}rin: ""enttd*;

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

4. CoffeeScript

alert 4#//**()pinchous:12356789+f{}: ""enttd*;

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

5. PHP

echo 5/*alrt#()pinus:f{:12346789+} ""enttd;**/

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

6. Perl 5

print 6#/*ale()chous:12345789+f{:} */""enttd*;

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

7. Perl 6

print 7#/*ale)(chous:f12345689+{:} */""enttd*;

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

8. JavaScript(ES5)

alert(8)//pin 12345679+#*chous:f{:} *""enttd*;

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

9. JavaScript(ES6)

alert(9)//inp 12345678+#*chous: f{:}*""enttd*;

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

10. JavaScript(ES7)

alert(9+1)//pni #*chous2345678: f{:}*""enttd*;

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

11.バッチ

echo 9+2 ::alrt()//pni#*usf{1345678}*""enttd*;

このオンライン通訳が見つかりませんでした。Windowsを使用している場合は、コマンドプロンプトでこのコードを実行してみてください。

12.バッシュ

echo 12 #::alrt(3456789+)//pni*usf{}*""enttd*;

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

13. CSS

*:after{content:"13" /*h# l(2456789+)pisud;*/}

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

14.少ない

*:after{content:"14" /*#h l(2356789+)pisud;*/}

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

15.スタイラス

*:after{content:"15" /*#hl (2346789+)pisud;*/}

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

16. TypeScript

alert(16)//inp #*chous2345789+: :{f}*""entt*d;

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

17.オクターブ

disp(17)#//n *chou2345689+: :{f}*""entt*alert;

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

18.スイフト

print(18)//ds# *chou2345679+: :{f}""ent*ale*t;

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

19.ジュリア

print(19)#ds// *chou2345678+: :{f}""ent*ale*t;

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

20.マキシマ

print(18+2);/*#ds ouch 345679::{f}""entale*t*/

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

21. Clojure

(print "21");/*#ds ouch3456789+::{f}entale*t*/

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

22.グルーヴィー

print 19+3//();*#ds oh245678::{fuc*}entalet*""

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

23. CommonLisp

(print 23);//*#ds oh1456789+::{fuc*}entalet*""

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

24. EmacsLisp

(print 24);//*#ds oh1356789+::{fuc*}entalet*""

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

25. PicoLisp

(print 25);//*#ds oh1346789+::{fuc*}entalet*""

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

26.ロゴ

print 21+5 ;//*#dsoh346789::{fuc*}entalet*""()

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


1
そして、18を表示するスウィフト:print(18)//#**alechous: f{}:2345679+ ""enttd*
ミスターXcoder

これによりスコアが約0.002e-20増加するとします:))
Xcoder氏17年

3
pfft。2017年はBefunge Web Frameworkの年になります!
スカイラー

コメントは、この質問全体を狂気に変えようとしているだけです…
Mathime

私の答えに見られるAppleスクリプトはREPLなしでも動作しますが--、コメントが必要です。追加する--と、おそらく少なくとも1種類のhaskellで作業できます。
小麦ウィザード

3

12言語、16バイト-スコア:0.003

print(0b11000)#1

プリント12sable

print(0b1100)#10

印刷1005AB1E

print(0b11)#1000

2進数を再配置すると、2〜9、11〜12が出力されます。

  • 結晶
  • ジュリア0.5
  • J-uby
  • ゆり
  • Perl 5
  • Perl 6
  • Python 3
  • Python 2
  • Python
  • ルビー

L = 145297152000 12!= 479001600

このために有効な言語のリストにTiOを使用しました(これらがすべて一意と見なされる場合)Wheat Wizardからの入力により、重複する言語が削除されました。この答えはかなり低いように見えますが、可能性があると感じています。


Julia 0.4と0.5のメジャーバージョン番号は同じです。だからPythonの2(PyPy)とPython 2は、Python 1しかし、このうおそらく動作しません
小麦ウィザード

印刷を中止してreplと呼ぶことはできますか?これらのうち何個がreplsを持っていますか?
ブライアンマックラッチン

@BrianMcCutchon Lily、Perl、およびCrystalにはreplがありません。他のすべてが行います。
小麦ウィザード

1

JavaScript(ES6)、Python 2、Python 3、Japt、4.735e-15

# ()//1234=>inprt

ES6(1)

p=>1//rint 234()#

Python 2(2)

print 2#134=>//()

Python 3(3)

print(3)# 124=>//

ジャプト(4)

#rint>=3/2)p (4/1

あなたのスコアは4.73508590206e-15btwです。
小麦ウィザード

それは...ですか?4階乗を17で割ったがおおよそ1.4であることが24である
ルカ

17で割るのではなく、文字列を再配置する方法の数である5068545850368000で割る。
小麦ウィザード

おっとっと。それを読み違えた。それを指摘してくれてありがとう。
ルーク

@WheatWizard痛い、私もそれを見逃した。
アダム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.