Anaglot Polygrams


19

งาน

เขียนโค้ดบางอย่างที่สามารถจัดใหม่เป็น n โปรแกรมที่แตกต่างกันใน n ภาษาที่แตกต่างกันแต่ละอันจะแสดงจำนวนที่แตกต่างกันตั้งแต่ 1 ถึง n

ไม่ควรมีสองภาษาเหมือนกัน แต่รุ่นที่แตกต่างกันของ "ภาษาเดียวกัน" จะถือว่าเป็นภาษาที่แตกต่างกันตราบใดที่พวกเขามีหมายเลขรุ่นหลักที่แตกต่างกัน สำหรับความท้าทายนี้สภาพแวดล้อม REPL ไม่แตกต่างจากภาษาแม่ แต่ยังคงเป็นภาษา แต่ละภาษาควรใช้การเปลี่ยนแปลงที่แตกต่างกันของซอร์สโค้ดและส่งออกตัวเลขที่แตกต่างในช่วง

พีชคณิตจะถูกนับเป็นไบต์ไม่ได้อยู่ในตัวละคร

คุณควรรวมการเปลี่ยนแปลงแต่ละอย่างที่ใช้กับภาษาที่ใช้ในการทดสอบ

เกณฑ์การให้คะแนน

คะแนนของคุณจะเป็น

การให้คะแนนสมการ

โดยที่ N คือจำนวนภาษาและ L คือจำนวนลำดับเฉพาะของโปรแกรมไบต์

L ไม่เท่ากับความยาวของโปรแกรม

(เว้นแต่ว่าโปรแกรมจะมีขนาด 1 หรือ 0 ไบต์)

นี่คือสคริปต์ไพ ธ อนเพื่อคำนวณความอนุเคราะห์ L ของ Conor O'Brien

L เท่ากับความยาวของโปรแกรมแฟคทอเรียลหากว่าไม่มีไบท์ซ้ำในโปรแกรม

เป้าหมายคือเพื่อเพิ่มคะแนนของคุณ



อนุญาตให้แสดงความคิดเห็นได้อย่างไร
อดัม

@ Adámจะไม่มีวิธีที่เหมาะสมในการห้ามแสดงความคิดเห็น
Wheat Wizard

ดังนั้นถ้า#เป็นสัญลักษณ์ความคิดเห็นใน 5 ภาษาการแก้ปัญหาที่ดีก็คือ1#2345
Adám

@ Adámที่ให้คะแนน 1/6 ฉันแน่ใจว่าคะแนน 1 เป็นไปได้อย่างง่ายดายด้วยโปรแกรม 2 ไบต์ (หรือโปรแกรม 1 ไบต์สำหรับเรื่องนั้น) และการเพิ่มตัวเลขให้มากขึ้นจะช่วยลดคะแนนของคุณ
Martin Ender

คำตอบ:


30

34 ภาษา, 19 ไบต์, คะแนน: 38,832,018,459,912,437,760,000

นี่คือคำตอบอย่างรวดเร็วฉันโยนเข้าด้วยกันเพื่อแสดงว่าเป็นไปได้ที่จะได้รับคำตอบที่ดีกว่า 1

 12233echo*+--@#..;

1. NTFJ

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

เอาท์พุทนี้รหัสผ่านตัวละครซึ่งได้รับอนุญาตโดยฉันทามติ meta

ลองที่นี่

2. Tcsh

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

3. 05AB1E

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

ลองออนไลน์!

4. ที่จริงแล้ว

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

ลองออนไลน์!

5. Befunge 98

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

ลองออนไลน์!

6. Cubix

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

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

ลองออนไลน์!

12. 2sable

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

ลองออนไลน์!

13. Hexagony

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

ส่งออกโดยรหัสตัวละคร

ลองออนไลน์!

รหัสที่ยังไม่เปิดเผย:

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

14. อาร์

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. 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. เจ

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
Mr. Xcoder

1
หากคุณเพิ่ม.และภาษาอื่นคุณสามารถมี 11. J:2#.2+3*3
Conor O'Brien



@WheatWizard J เป็นเทคนิค REPL คำนำหน้ารหัสด้วยecho เพื่อดูผลลัพธ์
Conor O'Brien

11

1 ภาษา, 0 ไบต์, คะแนน 1

ฉันไม่รู้ว่าจะได้คะแนนสูงในความท้าทายนี้ได้อย่างไรลองดูจุดนี้กัน


ลองออนไลน์!

ใน Retina 1โปรแกรมที่ว่างเปล่าที่ไม่มีการพิมพ์การป้อนข้อมูล

คะแนน = 1! / 0! = 1/1 = 1


7
ลักษณะนี้ได้อย่างรวดเร็วก่อนเหมือนคำตอบเรื่องตลก แต่มีคะแนนสูงสุดเพื่อให้ห่างไกล ...
Trichoplax

คะแนนเดียวกันสำหรับรายการภาษาเดียว 1 ไบต์ไม่
2560

@ Adámใช่เช่น1ใน R
Giuseppe

5
ในเยลลี่ผลลัพธ์นี้0มี 2 ​​ภาษา => คะแนน = 2
Mr. Xcoder

5
@ Mr.Xcoder ไม่นั่นไม่ใช่วิธีการให้คะแนน คุณต้องเอาท์พุท 1 ถึง n และแต่ละอันควรมีการเรียงสับเปลี่ยนแยกกัน
ข้าวสาลี Wizard

6

2 ภาษา, 2 ไบต์, คะแนน 1

ไม่ได้เอาชนะคำตอบของลีโอ แต่ฉันคิดว่าฉันจะนำเสนอโซลูชัน 2 ภาษา (และเอซวีซวิซาร์ดนินจาก็ตอบคำถามด้วยคะแนน -2 ระหว่างนั้น)

จอประสาทตาพิมพ์1

2`

ลองออนไลน์!

นี่เป็นหลักเหมือนกับโปรแกรมเปล่าของลีโอ

Pythพิมพ์2

`2

ลองออนไลน์!

นี่คือrepr(2)ดังนั้นจึงคำนวณที่ได้รับการพิมพ์เป็น"2"2


5

26 ภาษา, 46 ไบต์, คะแนน: 1.68861953e-28 (0.000000000000000000000000000168861953)

ทุกภาษาเป็นภาษากระแสหลัก (เช่นพวกเขาใช้โดยผู้คนในการพัฒนาจริง ๆ ) และไม่มีโซลูชัน 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. Maxima

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

ลองออนไลน์!

21. Clojure

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

ลองออนไลน์!

22. Groovy

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
และ Swift ซึ่งแสดง 18:print(18)//#**alechous: f{}:2345679+ ""enttd*
Mr. Xcoder

สมมติว่าสิ่งนี้จะเพิ่มคะแนนของคุณประมาณ 0.002e-20 :))
Mr. Xcoder

3
pfft 2017 จะเป็นปีของ Befunge Web Framework!
Skyler

ความคิดเห็นกำลังจะเปลี่ยนคำถามทั้งหมดนี้ให้กลายเป็นความวิกลจริต…
Mathime

btw Applescript ซึ่งสามารถเห็นได้ในคำตอบของฉันทำงานโดยไม่ต้อง REPL แต่ต้องการ--ความคิดเห็น หากคุณเพิ่ม--คุณอาจจะสามารถทำงานในฮาเซลอย่างน้อยหนึ่งประเภท
ข้าวสาลีตัวช่วยสร้าง

3

12 ภาษา, 16 ไบต์ - คะแนน: 0.003

print(0b11000)#1

พิมพ์1ใน2sable

print(0b1100)#10

พิมพ์10ใน05AB1E

print(0b11)#1000

การจัดเรียงเลขฐานสองใหม่จะพิมพ์ 2-9, 11-12 ใน:

  • คริสตัล
  • จูเลีย 0.5
  • J-uby
  • กมล
  • Perl 5
  • Perl 6
  • Python 3
  • Python 2
  • หลาม
  • ทับทิม

L = 145297152000 12! = 479001600

ฉันเพิ่งใช้ TiO สำหรับรายการภาษาที่ใช้ได้สำหรับสิ่งนี้ (หากสิ่งเหล่านี้ถือว่าไม่ซ้ำใคร) ลบภาษาที่ซ้ำกันบางส่วนด้วยการป้อนข้อมูลจาก Wheat Wizard คำตอบนี้ดูค่อนข้างต่ำ แต่ฉันรู้สึกว่ามันมีศักยภาพ


Julia 0.4 และ 0.5 มีหมายเลขเวอร์ชันหลักเหมือนกัน และ Python 2 (PyPy) และ Python 2 ก็เช่นกันอย่างไรก็ตามสิ่งนี้อาจใช้ได้ใน Python 1
Wheat Wizard

คุณสามารถละทิ้งการพิมพ์และเรียกมันว่าแบบจำลองได้หรือไม่? มีกี่รายการที่ซ้ำกัน
Brian McCutchon

@BrianMcCutchon Lily, Perl และ Crystal ไม่มี repls คนอื่น ๆ ทำ
ข้าวสาลีตัวช่วยสร้าง

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

คะแนนของคุณคือ4.73508590206e-15btw
ข้าวสาลีตัวช่วยสร้าง

ใช่ไหม? 4 แฟคทอเรียลคือ 24. หารด้วย 17 คือประมาณ 1.4
ลูกา

ไม่หารด้วย 17 แต่ด้วย 5068545850368000 จำนวนวิธีในการจัดเรียงสตริงใหม่
ข้าวสาลีตัวช่วยสร้าง

อุ่ย เข้าใจผิดว่า ขอบคุณที่ชี้นำ
ลุ

@Weateat ตัวช่วยสร้างฉันก็พลาดเช่นกัน
2560
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.