Anaglot Çokgenleri


19

Görev

Her biri 1'den n'ye farklı bir sayı çıkaran n farklı dilde n farklı programa yeniden düzenlenebilen bir kod yazın.

İki dil aynı olmamalıdır, ancak farklı ana sürüm numaralarına sahip oldukları sürece "aynı dil" in farklı sürümleri farklı diller olarak kabul edilecektir. Bu meydan okuma için REPL ortamları ana dillerinden farklı değildir, ancak yine de bir dildir. Her dil, kaynak kodun farklı bir permütasyonuyla çalışmalı ve aralıkta farklı bir sayı vermelidir.

Permütasyonlar karakter olarak değil bayt olarak sayılacaktır .

Test amacıyla çalıştırıldığı dil ile çalıştırılan her bir permütasyonu dahil etmelisiniz.

puanlama

Puanınız

Puanlama denklemi

Burada N, dil sayısı ve L, program baytlarının benzersiz sıra sayısıdır.

L, programın uzunluğuna eşit değil

(program 1 veya 0 bayt değilse)

Buraya Conor O'Brien'ın L iznini hesaplamak için bir python betiği.

L, yalnızca programda yinelenen bayt yoksa program faktörünün uzunluğuna eşittir.

Amaç puanınızı en üst düzeye çıkarmaktır.



yorumlara izin veriliyor mu?
Adam

@ Adám Yorumları yasaklamak için makul bir yol olmaz
Buğday Sihirbazı

Yani eğer #5 dilde açıklama sembolüdür, iyi bir çözüm olacaktır1#2345
Adam

@ Adám size 1/6 puan verir. 2 baytlık bir programla (veya bu konuda 1 baytlık bir programla) 1 puanın kolayca mümkün olduğundan eminim. Ve daha fazla rakam eklemek puanınızı düşürür.
Martin Ender

Yanıtlar:


30

34 Diller, 19 bayt, Puan: 38,832,018,459,912,437,760,000

İşte birlikte attığım hızlı bir cevap, 1'den daha iyi bir cevap puanı almanın mümkün olduğunu göstermek için.

 12233echo*+--@#..;

1. NTFJ

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

Bu, meta konsensüs tarafından izin verilen karakter kodu ile çıkar .

Burada deneyin

2. Tcsh

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

3. 05AB1E

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

Çevrimiçi deneyin!

4. Aslında

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

Çevrimiçi deneyin!

5. Befunge 98

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

Çevrimiçi deneyin!

6. Cubix

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

Karakter koduna göre çıktılar

Burada deneyin

Katlanmamış kod:

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

7. Haskell 8 REPL

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

8. Cidden

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

Çevrimiçi deneyin!

9.> <>

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

Karakter koduna göre çıktılar

Çevrimiçi deneyin!

10. Befunge

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

Çevrimiçi deneyin!

11. beyin ağrısı

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

Çevrimiçi deneyin!

12. 2 kablo

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

Çevrimiçi deneyin!

13. Altıgen

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

Karakter koduna göre çıktılar

Çevrimiçi deneyin!

Katlanmamış kod:

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

14. R

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

Çevrimiçi deneyin!

15. m.ö.

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

16. Python 3 REPL

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

17. irb (Yakut 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. Bash

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

23. Zsh

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

24. Elma

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

25. Lua REPL

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

26. Julia REPL

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

27. irb (Yakut 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

Çevrimiçi deneyin!

30. Nim

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

31. balık

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

32. PHP

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

<?phpbu meta nedeniyle gerekli değil

Çevrimiçi deneyin!

33. Golf yazısı

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

Çevrimiçi deneyin!

34. Oktav

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

Çevrimiçi deneyin!


5
İşte bu yüzden REPL destekli dillerden nefret ediyorum
Bay Xcoder

1
.Başka bir dil eklerseniz , 11 2#.2+3*3
numaraya

@WheatWizard burada
Conor O'Brien


@WheatWizard J teknik olarak bir REPL'dir. echo Çıktıyı görmek için kodu önekleyin .
Conor O'Brien

11

1 dil, 0 bayt, puan 1

Bu meydan okumada ne kadar yüksek puan alacağımı bilmiyorum, bu yüzden bu noktayı ele alalım.


Çevrimiçi deneyin!

Retina'da, girişsiz boş program yazdırılır 1.

Puan = 1! / 0! = 1/1 = 1


7
Bu ilk bakışta şaka yanıtı gibi görünüyor, ancak şu ana kadarki en yüksek puana sahip ...
trichoplax

1 baytlık tek dil girişi için aynı puan, değil mi?
Adam

@ Adám evet, R'deki gibi 1, örneğin
Giuseppe

5
Jöle, bu çıktı 0, bu yüzden 2 dil => skor = 2
Bay Xcoder

5
@ Mr.Xcoder Hayır, puanlama bu şekilde çalışmaz. 1'den n'ye çıktı almalısınız ve her biri ayrı bir permütasyonda olmalıdır.
Buğday Büyücüsü

6

2 dil, 2 bayt, puan 1

Leo'nun cevabını geçmez, ama ben 2 dilli bir çözüm sunacağımı düşündüm (iyi, ve Buğday Sihirbazı ninja yine de bir skor-2 cevabı).

Retina , baskılar1

2`

Çevrimiçi deneyin!

Bu aslında Leo'nun boş programıyla aynı.

Pyth , baskılar2

`2

Çevrimiçi deneyin!

Bu repr(2)şekilde "2"hangi yazdırılır hesaplar 2.


5

26 dil, 46 bayt, Puan: 1.68861953e-28 (0.000000000000000000000000000168861953)

Tüm diller ana dildir (yani aslında geliştirilmekte olan insanlar tarafından kullanılır) ve hiçbir dilde REPL çözümü yoktur. Bu cevap asla kazanamayacak, ama bu göndermemenin bir nedeni değil ...

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

1. Python 2

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

Çevrimiçi deneyin!

2. Python 3

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

Çevrimiçi deneyin!

3. Yakut

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

Çevrimiçi deneyin!

4. CoffeeScript

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

Çevrimiçi deneyin!

5. PHP

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

Çevrimiçi deneyin!

6. Perl 5

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

Çevrimiçi deneyin!

7. Perl 6

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

Çevrimiçi deneyin!

8. JavaScript (ES5)

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

Çevrimiçi deneyin!

9. JavaScript (ES6)

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

Çevrimiçi deneyin!

10. JavaScript (ES7)

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

Çevrimiçi deneyin!

11. Parti

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

Bunun için çevrimiçi bir çevirmen bulunamadı. Windows'daysanız bu kodu Komut İsteminde çalıştırmayı deneyin.

12. Bash

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

Çevrimiçi deneyin!

13. CSS

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

Çevrimiçi deneyin!

14. Daha az

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

Çevrimiçi deneyin!

15. Kalem

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

Çevrimiçi deneyin!

16. TypeScript

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

Çevrimiçi deneyin!

17. Oktav

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

Çevrimiçi deneyin!

18. Hızlı

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

Çevrimiçi deneyin!

19. Julia

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

Çevrimiçi deneyin!

20. Maksima

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

Çevrimiçi deneyin!

21. Clojure

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

Çevrimiçi deneyin!

22. Harika

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

Çevrimiçi deneyin!

23. OrtakLisk

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

Çevrimiçi deneyin!

24. EmacsLisp

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

Çevrimiçi deneyin!

25. PicoLisp

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

Çevrimiçi deneyin!

26. Logo

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

Çevrimiçi deneyin!


1
Ve Swift, 18 gösteriliyor:print(18)//#**alechous: f{}:2345679+ ""enttd*
Bay Xcoder

Bunun puanınızı yaklaşık 0.002e-20 oranında artıracağını varsayalım :))
Bay

3
pfft. 2017 Befunge Web Framework'ün yılı olacak!
Skyler

Yorumlar tüm bu soruyu delilik haline
getirecek

btw Cevabımda görülebilecek Applescript, REPL olmadan çalışıyor, ancak --yorum gerektiriyor . Eğer eklerseniz --muhtemelen Haskell bölgesine en az bir tip çalışabilirler.
Buğday Büyücüsü

3

12 Dil, 16 Bayt - Puan: 0.003

print(0b11000)#1

Baskılar 1içinde 2sable

print(0b1100)#10

Baskı 10içinde 05AB1E

print(0b11)#1000

İkili sayıların yeniden düzenlenmesi 2-9, 11-12

  • Kristal
  • Julia 0.5
  • J-UBY
  • Zambak
  • Perl 5
  • Perl 6
  • Python 3
  • Python 2
  • piton
  • Yakut

L = 145297152000 12! = 479001600

TiO'yu bunun için geçerli dillerin bir listesi olarak kullandım (eğer hepsi benzersiz sayılırsa?). Buğday Sihirbazı'ndan gelen giriş sayesinde bazı yinelenen diller kaldırıldı. Bu cevap oldukça düşük görünüyor, ancak potansiyelinin olduğunu hissediyorum.


Julia 0.4 ve 0.5 aynı ana sürüm numarasına sahiptir. Python 2 (PyPy) ve Python 2 de öyle. Ancak bu muhtemelen Python 1'de çalışacak
Buğday Sihirbazı

Baskıyı bırakıp repl diyebilir misiniz? Bunlardan kaç tanesinde repl var?
Brian McCutchon

@BrianMcCutchon Lily, Perl ve Crystal'in replleri yok. Tüm diğerleri yapar.
Buğday Büyücüsü

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=>//

Japon (4)

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

Puanınız 4.73508590206e-15btw.
Buğday Büyücüsü

Bu mu? 4 faktöriyel 24'tür. Bu 17'ye bölünür kabaca 1.4
Luke

17'ye bölünmez, ancak 5068545850368000, dizeyi yeniden düzenlemenin yol sayısı.
Buğday Büyücüsü

Hata. Yanlış okudum. Gösterdiğiniz için teşekkürler.
Luke

@WheatWizard Ah, bunu da özledim.
Adam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.