Poli Anaglot


19

Tugas

Tulis beberapa kode yang dapat disusun ulang menjadi n program yang berbeda dalam n bahasa yang berbeda masing-masing menghasilkan angka yang berbeda dari 1 ke n.

Tidak ada dua bahasa yang harus sama namun versi berbeda dari "bahasa yang sama" akan dianggap bahasa yang berbeda, asalkan mereka memiliki nomor versi utama yang berbeda. Untuk tantangan ini, lingkungan REPL tidak berbeda dari bahasa induknya tetapi masih merupakan bahasa. Setiap bahasa harus dijalankan pada permutasi kode sumber yang berbeda dan menghasilkan angka yang berbeda dalam rentang tersebut.

Permutasi akan dihitung dalam byte bukan dalam karakter .

Anda harus menyertakan setiap permutasi yang dijalankan dengan bahasa yang dijalankan untuk tujuan pengujian.

Mencetak gol

Skor Anda akan menjadi

Persamaan skor

Di mana N adalah jumlah bahasa dan L adalah jumlah urutan unik dari program byte.

L tidak sama dengan panjang program

(kecuali jika programnya 1 atau 0 byte)

Berikut ini adalah skrip python untuk menghitung L milik Conor O'Brien.

L sama dengan panjang faktorial program jika dan hanya jika tidak ada byte yang diulang dalam program.

Tujuannya adalah untuk memaksimalkan skor Anda.



apakah komentar diperbolehkan?
Adám

@ Adám Tidak akan ada cara yang masuk akal untuk melarang komentar
Wheat Wizard

Jadi jika #simbol komentar dalam 5 bahasa, solusi yang baik adalah1#2345
Adm

@ Adám yang memberi Anda skor 1/6. Saya yakin skor 1 mudah dimungkinkan dengan program 2-byte (atau program 1-byte dalam hal ini). Dan menambahkan lebih banyak digit mengurangi skor Anda.
Martin Ender

Jawaban:


30

34 Bahasa, 19 byte, Nilai: 38.832.018.459.912.437.760.000

Berikut adalah jawaban cepat yang saya berikan untuk menunjukkan bahwa mungkin untuk mendapatkan jawaban dengan skor lebih baik dari 1.

 12233echo*+--@#..;

1. NTFJ

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

Ini dihasilkan melalui kode karakter, yang diizinkan oleh konsensus meta .

Coba di sini

2. Tcsh

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

3. 05AB1E

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

Cobalah online!

4. Sebenarnya

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

Cobalah online!

5. Befunge 98

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

Cobalah online!

6. Cubix

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

Output dengan kode karakter

Coba di sini

Kode dibuka:

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

7. Haskell 8 REPL

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

8. Serius

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

Cobalah online!

9.> <>

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

Output dengan kode karakter

Cobalah online!

10. Befunge

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

Cobalah online!

11. brainbool

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

Cobalah online!

12. 2sable

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

Cobalah online!

13. Hexagony

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

Output dengan kode karakter

Cobalah online!

Kode dibuka:

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

14. R

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

Cobalah online!

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. Bash

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. Julia 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

Cobalah online!

30. Nim

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

31. ikan

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

32. PHP

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

<?phptidak diperlukan karena meta ini

Cobalah online!

33. Golfscript

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

Cobalah online!

34. Oktaf

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

Cobalah online!


5
Dan itu sebabnya saya benci bahasa yang mampu
REPL

1
Jika Anda menambahkan .dan bahasa lain, Anda dapat memiliki 11. J:2#.2+3*3
Conor O'Brien

@WheatWizard di sini
Conor O'Brien


@WheatWizard J secara teknis adalah REPL. Awali kode dengan echo untuk melihat hasilnya.
Conor O'Brien

11

1 bahasa, 0 byte, skor 1

Saya tidak tahu seberapa tinggi skor akan di tantangan ini, jadi mari kita ambil tempat ini.


Cobalah online!

Di Retina, program kosong tanpa cetakan input 1.

Nilai = 1! / 0! = 1/1 = 1


7
Sekilas ini tampak seperti jawaban lelucon, tetapi memiliki skor tertinggi sejauh ini ...
trichoplax

Skor yang sama untuk entri bahasa tunggal 1 byte, bukan?
Adám

@ Adám ya, seperti 1dalam R, misalnya
Giuseppe

5
Dalam jelly, ini menghasilkan 0, jadi 2 bahasa => skor = 2
Tn. Xcoder

5
@ Mr.Xcoder Tidak, bukan itu cara penilaiannya. Anda harus menghasilkan 1 hingga n dan masing-masing harus pada permutasi terpisah.
Wheat Wizard

6

2 bahasa, 2 byte, skor 1

Tidak mengalahkan jawaban Leo, tapi saya pikir saya akan memberikan solusi 2-bahasa (well, dan Wheat Wizard ninja jawaban skor-2 di antara keduanya).

Retina , cetak1

2`

Cobalah online!

Ini pada dasarnya sama dengan program kosong Leo.

Pyth , cetakan2

`2

Cobalah online!

Ini repr(2)sehingga menghitung "2"yang akan dicetak sebagai 2.


5

26 bahasa, 46 byte, Nilai: 1.68861953e-28 (0,00000000000000000000000000000168861953)

Semua bahasa adalah yang umum (yaitu mereka benar-benar digunakan oleh orang-orang dalam pengembangan) dan tidak ada solusi REPL dalam bahasa apa pun. Jawaban ini tidak akan pernah menang, tetapi itu bukan alasan untuk tidak mempostingnya ...

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

1. Python 2

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

Cobalah online!

2. Python 3

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

Cobalah online!

3. Ruby

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

Cobalah online!

4. CoffeeScript

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

Cobalah online!

5. PHP

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

Cobalah online!

6. Perl 5

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

Cobalah online!

7. Perl 6

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

Cobalah online!

8. JavaScript (ES5)

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

Cobalah online!

9. JavaScript (ES6)

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

Cobalah online!

10. JavaScript (ES7)

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

Cobalah online!

11. Batch

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

Tidak dapat menemukan juru bahasa online untuk yang ini. Coba jalankan kode ini di Command Prompt, jika Anda menggunakan Windows.

12. Bash

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

Cobalah online!

13. CSS

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

Cobalah online!

14. Lebih sedikit

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

Cobalah online!

15. Stylus

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

Cobalah online!

16. KetikScript

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

Cobalah online!

17. Oktaf

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

Cobalah online!

18. Cepat

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

Cobalah online!

19. Julia

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

Cobalah online!

20. Maxima

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

Cobalah online!

21. Clojure

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

Cobalah online!

22. Groovy

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

Cobalah online!

23. CommonLisp

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

Cobalah online!

24. EmacsLisp

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

Cobalah online!

25. PicoLisp

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

Cobalah online!

26. Logo

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

Cobalah online!


1
Dan Swift, menampilkan 18:print(18)//#**alechous: f{}:2345679+ ""enttd*
Mr. Xcoder

Misalkan ini akan meningkatkan skor Anda sekitar 0,002e-20 :))
Mr. Xcoder

3
pfft 2017 akan menjadi tahun Befunge Web Framework!
Skyler

Komentar hanya akan mengubah seluruh pertanyaan ini menjadi gila ...
Mathime

btw Applescript yang dapat dilihat pada jawaban saya berfungsi tanpa REPL, tetapi memang membutuhkan --komentar. Jika Anda menambahkan, --Anda mungkin juga dapat bekerja di setidaknya satu jenis haskell.
Wheat Wizard

3

12 Bahasa, 16 Bytes - Nilai: 0,003

print(0b11000)#1

Mencetak 1dalam 2sable

print(0b1100)#10

Cetak 10dalam 05AB1E

print(0b11)#1000

Mengatur ulang angka-angka biner mencetak 2-9, 11-12 di:

  • Kristal
  • Julia 0,5
  • J-uby
  • Bunga bakung
  • Perl 5
  • Perl 6
  • Python 3
  • Python 2
  • Python
  • Rubi

L = 145297152000 12! = 479001600

Saya baru saja menggunakan TiO untuk daftar bahasa yang valid untuk ini (Jika semua ini dianggap unik?). Menghapus beberapa bahasa duplikat berkat masukan dari Wheat Wizard. Jawaban ini terlihat sangat rendah, meskipun saya merasa memiliki potensi.


Julia 0.4 dan 0.5 memiliki nomor versi utama yang sama. Dan begitu juga Python 2 (PyPy) dan Python 2. Namun ini mungkin akan bekerja di Python 1
Wheat Wizard

Bisakah Anda meninggalkan cetakan dan menyebutnya ganti? Berapa banyak dari ini memiliki replika?
Brian McCutchon

@BrianMcCutchon Lily, Perl, dan Crystal tidak memiliki balasan. Semua yang lain lakukan.
Wheat Wizard

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

Japt (4)

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

Skor Anda adalah 4.73508590206e-15btw.
Wheat Wizard

Apakah itu? 4 faktorial adalah 24. Yang dibagi 17 kira-kira 1,4
Lukas

Tidak dibagi dengan 17 tetapi oleh 5068545850368000, jumlah cara untuk mengatur ulang string.
Wheat Wizard

Ups. Salah baca itu. Terima kasih telah menunjukkannya.
Lukas

@WheatWizard Aduh, saya juga merindukan itu.
Adám
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.