วิวัฒนาการของพลังสอง


34

นี่คือ repost ของEvolution ของ“ Hello World!”ซึ่งเขียนโดย Helka Homba ผู้ใช้

มันไม่ควรจะปิดเป็นซ้ำเนื่องจากฉันทามติ meta ที่นี่

ต้นฉบับถูกถามเมื่อสองปีก่อนและใช้งานล่าสุดมากกว่าหกเดือนที่ผ่านมา ฉันได้รับอนุญาตจาก Helka Homba เพื่อโพสต์สิ่งนี้ที่นี่

ตั้งแต่ดั้งเดิมมีการประดิษฐ์หลายภาษาและหลาย ๆ คนได้เข้าร่วมเว็บไซต์ที่ไม่เคยมีโอกาสตอบต้นฉบับดังนั้นฉันรู้สึกว่า repost นี้เป็นที่ยอมรับ


ความท้าทายคือการสร้างโปรแกรมที่พิมพ์2^nไปยัง stdout ซึ่งnเป็นหมายเลขของโปรแกรมของคุณ สิ่งที่จับได้คือโปรแกรมของคุณจะต้องมีระยะทาง Levenshtein 10 หรือน้อยกว่าจากโปรแกรมในคำตอบที่ส่งมาก่อนหน้าคุณ

มันจะทำงานยังไง

ด้านล่างนี้ผมจะส่งคำตอบแรกใช้ C # ซึ่งพิมพ์ 2 ^ (n = 1) 2=

บุคคลต่อไปที่จะตอบต้องแก้ไขรหัสที่มีการแทรกการลบหรือการแทนที่อักขระสูงสุด 10 ตัวเพื่อให้เมื่อมีการเรียกใช้ในภาษาของคำตอบใหม่ระบบจะพิมพ์2^n(โดยnเป็นหมายเลขคำตอบ) ตัวอย่างเช่นคำตอบที่ 25 (สมมติว่าอยู่ใน Pyth) จะพิมพ์ 2 ^ 25 หรือ 33554432

สิ่งนี้จะดำเนินการต่อไปจนกว่าทุกคนจะติดขัดเพราะไม่มีภาษาใหม่โปรแกรมคำตอบสุดท้ายสามารถทำงานได้โดยการเปลี่ยนเพียง 10 ตัวอักษร เป้าหมายของชุมชนคือการดูว่าเราสามารถติดตามได้นานแค่ไหนดังนั้นอย่าพยายามแก้ไขตัวละครที่คลุมเครือหรือไม่เป็นธรรม (นี่ไม่ใช่ข้อกำหนด)

การจัดรูปแบบ

โปรดจัดรูปแบบโพสต์ของคุณเช่นนี้:

#Answer N - [language]

    [code]

[notes, explanation, observations, whatever]

โดยที่ N คือหมายเลขคำตอบ (เพิ่มขึ้นทีละน้อย N = 1, 2, 3, ... )

คุณไม่จำเป็นต้องบอกว่ามีการเปลี่ยนแปลงอักขระที่แน่นอน เพียงตรวจสอบให้แน่ใจว่าระยะทางของ Levenshtein อยู่ระหว่าง 0 ถึง 10

หากคุณตอบเป็นภาษาหรือรหัสผลลัพธ์เป็นเพียงความยุ่งเหยิงโปรดอธิบายสิ่งที่คุณทำและทำไมจึงใช้งานได้แม้ว่าจะไม่จำเป็น

กฎระเบียบ

สิ่งสำคัญที่ต้องเข้าใจเกี่ยวกับความท้าทายนี้คือการที่บุคคลเพียงคนเดียวสามารถตอบในเวลาและแต่ละคำตอบขึ้นอยู่กับหนึ่งก่อนที่มันจะ

ไม่ควรมีสองคำตอบด้วย N เดียวกันหากคนสองคนเกิดคำตอบพร้อมกันสำหรับ N บางคนผู้ตอบในภายหลัง (แม้ว่าจะต่างกันสองสามวินาที) ก็ควรลบคำตอบของพวกเขาด้วยความกรุณา

นอกจากนี้ ...

  • ผู้ใช้ไม่สามารถส่งคำตอบสองคำติดต่อกัน (เช่นเนื่องจากฉันส่งคำตอบ 1 ฉันไม่สามารถตอบได้ 2 แต่ทำได้ 3)
  • พยายามหลีกเลี่ยงการโพสต์คำตอบมากเกินไปในกรอบเวลาอันสั้น
  • แต่ละคำตอบจะต้องเป็นภาษาการเขียนโปรแกรมที่แตกต่างกัน
    • คุณสามารถใช้ภาษาเวอร์ชันหลักที่แตกต่างกันเช่น Python 2/3
    • ภาษานับว่าแตกต่างกันหากพวกเขาถูกเรียกแบบดั้งเดิมโดยชื่อที่แตกต่างกันสองคน (อาจมีความคลุมเครือบางอย่างที่นี่ แต่อย่าปล่อยให้สิ่งนั้นทำลายการแข่งขัน)
  • คุณไม่ต้องติดกับ ASCII คุณสามารถใช้อักขระใด ๆ ที่คุณต้องการ Levenshtein ระยะทางจะมีการวัดใน Unicode ตัวอักษร
  • ผลลัพธ์ควรมี2^nและไม่มีอักขระอื่น ๆ เท่านั้น (ช่องว่างนำหน้า / ต่อท้ายนั้นใช้ได้เนื่องจากเอาต์พุตที่ไม่สามารถเอาชนะได้เช่น>>>หรือans=)
  • หากภาษาของคุณไม่มี stdout ให้ใช้สิ่งที่ใช้กันทั่วไปเพื่อส่งข้อความออกอย่างรวดเร็ว (เช่นconsole.logหรือalertใน JavaScript)
  • เมื่อกำลังสองที่คุณต้องส่งออกมีขนาดใหญ่มากคุณอาจสมมติหน่วยความจำไม่สิ้นสุด แต่ไม่ใช่ขนาดเต็มจำนวน โปรดระวังจำนวนเต็มล้น
  • คุณอาจใช้ประโยชน์จากสัญกรณ์ทางวิทยาศาสตร์หรือภาษาของคุณแทนตัวเลขได้อย่างเป็นธรรมชาติ (ยกเว้น unary ไม่ต้องเอาต์พุตเป็น unary)

โปรดตรวจสอบว่าคำตอบของคุณถูกต้อง เราไม่ต้องการที่จะรู้ว่ามีการแบ่งในห้าคำตอบ คำตอบที่ไม่ถูกต้องควรได้รับการแก้ไขอย่างรวดเร็วหรือถูกลบออกก่อนที่จะมีคำตอบเพิ่มเติม

อย่าแก้ไขคำตอบเว้นแต่จำเป็นจริงๆ

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

เมื่อสิ่งต่างๆสงบลงผู้ใช้ที่ส่งคำตอบที่ถูกต้องที่สุดจะชนะ ความสัมพันธ์ไปถึงผู้ใช้ที่มีคะแนนโหวตสูงสุดสะสมมากที่สุด

แก้ไขสิ่งเหล่านี้เมื่อคุณโพสต์คำตอบ:

ลีดเดอร์บอร์ด

13 ภาษา

Okx

8 ภาษา

เรือเหาะ

4 ภาษา

Pavel
Jonathan Allan
Kritixi Lithos
Riker

3 ภาษา

boboquack

2 ภาษา

bmarks
Conor O'Brien
แตงโมที่ถูกทำลาย
ovs
Tom Carpenter

1 ภาษา

ATaco
บล็อก
Dennis
dzaima
Erik the Outgolfer ETHproductions
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
อาร์
เทย์เลอร์แคปสก็อตต์
nimi
Mistah Figgins
PidgeyUsedGust
steenbergh

ภาษาที่ใช้จนถึงปัจจุบัน:

  1. C # (พาเวล)
  2. /// (boboquack)
  3. จอประสาทตา (เดนนิส)
  4. เยลลี่ (Jonathon Allan)
  5. Pyth (boboquack)
  6. > <> (แตงโมที่ถูกทำลาย)
  7. Minkolang (Kritixi Lithos)
  8. Perl (Pavel)
  9. Python (Qwerp-Derp)
  10. dc (R. Kap)
  11. Charcoal (Jonathon Allan)
  12. BrainFuck การปรับเปลี่ยนตนเอง (Leo)
  13. SOGL (dzaima)
  14. ShapeScript (Jonathon Allan)
  15. Pyke (boboquack)
  16. ทับทิม (นาธาเนียล)
  17. 05AB1E (ovs)
  18. STATA (bmarks)
  19. bc (Kritixi Lithos)
  20. Japt (Okx)
  21. 2sable (Kritixi Lithos)
  22. Cheddar (Jonathon Allan)
  23. เสา (Okx)
  24. Bash (Zeppelin)
  25. เร่งด่วน (Okx)
  26. CJam (Erik the Outgolfer)
  27. MATL (Okx)
  28. MATLAB (ทอมคาร์เพนเตอร์)
  29. อ็อกเทฟ (Kritixi Lithos)
  30. R (ovs)
  31. JavaScript ES7 (Tom Carpenter)
  32. นูน (Okx)
  33. Mathematica (ghosts_in_the_code)
  34. พิพ (Okx)
  35. ซ้อนกัน (Conor O'Brien)
  36. GolfScript (Okx)
  37. จริงแล้ว (Lynn)
  38. RProgN (Okx)
  39. Scheme (bmarks)
  40. องค์ประกอบ (Okx)
  41. J (บล็อค)
  42. Cubix (ผลิตภัณฑ์ ETH)
  43. zsh (เรือเหาะ)
  44. VBA (เทย์เลอร์สกอตต์)
  45. ปลา (เหาะ)
  46. ตาข่าย (Okx)
  47. Perl 6 (Pavel)
  48. RProgN2 (ATaco)
  49. PHP (Matheus Avellar)
  50. Jolf (Conor O'Brien)
  51. Haskell (nimi)
  52. Befunge-98 (Mistah Figgins)
  53. Gnuplot (Zeppelin)
  54. QBIC (steenbergh)
  55. FOG (Riker)
  56. Qwerty-RPN (Okx)
  57. Korn Shell (ksh) (zeppelin)
  58. จูเลีย (ไรเคอร์)
  59. Python 3 (พาเวล)
  60. Vimscript (Riker)
  61. เส้นประ (Zeppelin)
  62. Vitsy (Okx)
  63. csh (เรือเหาะ)
  64. โอห์ม (Okx)
  65. Bosh (เรือเหาะ)
  66. es-shell (Riker)
  67. Gol> <> (PidgeyUsedGust)

คำถามนี้ทำงานได้ดีที่สุดเมื่อคุณจัดเรียงสินค้าที่เก่าแก่ที่สุด


2
ตัวอย่างจะดีจริงๆ
Kritixi Lithos

@KritixiLithos ฉันไม่ทราบวิธีการทำสิ่งเหล่านั้นอย่าลังเลที่จะแก้ไขอย่างใดอย่างหนึ่งใน!
Pavel

1
@ TomCarpenter ที่เป็นที่ยอมรับฉันจะทำการแก้ไข
Pavel

1
"ระยะทาง Levenshtein จะถูกวัดเป็นตัวอักษร UTF-8" หรือไม่นั้นหมายความว่าระยะทางในการแก้ไขจะถูกคำนวณระหว่างสตริงของ Unicode codepoints (และ "UTF-8" เป็นปลาเฮอริ่งแดงเนื่องจากไม่ว่าคุณจะใช้หรือไม่ก็ตาม UTF-8, UTF-16, UCS4 หรืออย่างอื่น)
Sami Liedes

1
@SamiLiedes pavel ตอบกลับในการแชทมันเป็นเพียง Unicode codepoints ใช่ (เช่นถ้ารหัสจุดแตกต่างกันมันเป็นความแตกต่างของตัวละคร)
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º,รหัสที่เป็นจริงส่วนที่เหลือเป็นเพียงขยะ

โปรแกรมนี้จะพิมพ์เอาท์พุทที่ถูกต้อง แต่ก็ยังจะขอบางSTDIN หลังก็มีการพิมพ์ 2 64


สิ่งนี้เกิดขึ้นได้อย่างไรในโลกนี้? งานที่ดี.
David Archibald

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, Haskell, ระยะทาง 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, แทนที่^ที่จุดเริ่มต้นด้วย-, เพิ่มอีกอัน-, ลบ*ภายในprint, แทนที่ 2nd *ด้วย^, เขียนทับ49ด้วย51, แทรก--หลังการพิมพ์


คุณลบบรรทัดใหม่แล้ว ... i cri evry tim
Pavel

อย่างจริงจังทำไมคุณถึงลบบรรทัดใหม่
มะนาวที่ถูกทำลายได้

เนื่องจากความคิดเห็นของฮาเซลมี--ดังนั้นจึงเป็นระยะทางแก้ไขที่ต่ำกว่าการแสดง--สองครั้ง
Pavel

@DestructibleWatermelon: ความคิดเห็นบรรทัด--คือ 2 ไบต์, ลบ NL เพียง 1
nimi

5

ตอบ 67, Gol> <> , ระยะทาง 6

เราใช้แทรมโพลีน#ในการต่อท้ายโค้ด โดยการเอาสามารถนำกลับมาใช้ต้องการเพียง 6 ตัวอักษรที่จะเพิ่มS)1'a;

#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 ที่เปลี่ยน monads เป็น dyads โดยใช้อาร์กิวเมนต์ซ้ายและขวาตามลำดับ)

"unhalves" 8 เพื่อให้ 16


1
ทำไมคนแรก{(หลังจากclass HelloWorld) ไม่จำเป็นต้องมีคน0ก่อน แต่คนอื่น ๆ ทำ
Pavel

แต่ละบรรทัดจะถูกแยกวิเคราะห์เป็นลิงก์ (ฟังก์ชั่น) ก่อนที่จะมีสิ่งใดทำงานบรรทัดสุดท้ายคือจุดเข้าสู่โปรแกรม โปรแกรมแยกวิเคราะห์จะทำงานได้ดีหากไม่มี()วงเล็บปีกกาเปิดที่สองในบรรทัดแรก บรรทัดที่สามไม่สามารถเริ่มต้นได้ด้วยวงเล็บปีกกาเนื่องจากไม่มี monad ที่ต้องทำ
Jonathan Allan

4

คำตอบ 5: Pyth

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

พิมพ์ตัวอักษรตัวเลข32จากนั้นเว้นวรรคระหว่าง2และเพื่อ"หยุดการพิมพ์ของตัวอักษรสตริง (เติมอัตโนมัติ)

+4 ตัวอักษร - 32 "

ลองใช้กับ herokuapp


4

คำตอบ 6 -> <>

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

แทนที่ช่องว่างด้วย ", รหัสผลัก 3, 2, 4 จากนั้นกลับ, ดัน 4,2,3, จากนั้นปรากฏ 3 ออกจากสแต็ก, และคูณ 2, 4, 4, 2, สำหรับ 64, เอาท์พุทและหยุด

ลองออนไลน์

อาจใช้https://www.fishlanguage.com/playground



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^19เป็น2**20เมื่อเริ่มต้นโปรแกรมเพื่อคำนวณกำลังไฟ (4)

แทนที่#ด้วย$ในบรรทัดแรกเพื่อให้ทุกอย่างที่ผ่านมาถูกตีความว่าเป็น JS (1)

ในบรรทัดสุดท้ายให้ลบ/และเพิ่ม a */ที่ส่วนท้ายของโปรแกรมดังนั้นความคิดเห็นจึงใช้โปรแกรมทั้งหมด (3)


ขออภัยคำตอบของฉันข้างต้นไม่ถูกต้อง ตัวเลขสุดท้ายควรเป็น 8 แทนที่จะเป็น 7
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: Jolf, ระยะทาง 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

ขอบคุณ@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@

--ไม่ทำอะไรเลย
'3k2ใส่ 52 2s ลงบนสแต็กและ
'2k*.@คูณเข้าด้วยกันพิมพ์ตัวเลขและออก

นอกจากนี้ฉันได้เพิ่มอีกหนึ่งd"หลังprintf("%เพื่อทำให้ชีวิตของผู้อื่นง่ายขึ้นเนื่องจากฉันมีอักขระเพิ่มอีก 2 ตัว มันไม่ส่งผลกระทบต่อโปรแกรม Befunge-98


3

คำตอบที่ 42: Cubixระยะทาง 8

2^41 NB.`(expt 2 39); ^ exit @ⁿ.óout (*2 32#e#a44******O@)//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*'*

ลองออนไลน์!

อยู่ตรงกลางก็เปลี่ยนไปlert(2**3144******O@


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 #บนจุดเริ่มต้นของเส้นกลางสองเส้นไป"เป็นเพิ่ม"ด้านหน้าของบรรทัดแรกและ:py<space>ด้านหน้าของบรรทัดสุดท้าย

สำหรับการชี้แจง:

" คือความคิดเห็นบรรทัดใน vimscript (อย่างน้อยตอนต้นบรรทัด) และไม่จำเป็นต้องจับคู่

Vim สามารถเรียกใช้รหัสหลามได้ดังนั้นนี่จึงเทียบเท่ากับการขอคำตอบจากหลาม


หากนี่คือการใช้รหัส Python ทำไมข้อผิดพลาดนี้ไม่เหมือนทุกที่?
Pavel

@Pavel เฉพาะบรรทัดสุดท้ายเท่านั้นที่เรียกใช้เป็นรหัสหลาม
Rɪᴋᴇʀ

ขออภัยแสดงความคิดเห็นก่อนที่จะแก้ไข
Pavel

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 สำหรับการเปลี่ยนwriteเป็นprint+2 สำหรับการเปลี่ยน2256เข้าไป

ฉันจะไม่เข้าร่วม แต่ฉันต้องการให้แน่ใจว่ามีการเพิ่ม langs ปกติบางอย่างก่อนที่จะมีอะไรบ้าเกินไป

ลองออนไลน์!


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); ?>

ต่อไปนี้เป็นภาพหน้าจอของการเน้นไวยากรณ์และการส่งออกที่เหมาะสมเพื่อช่วยให้เห็นภาพได้:

ภาพหน้าจอ


2

ตอบ 2: ///

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

+4 ตัวอักษร - ///4

ลองออนไลน์!


เกี่ยวกับคำตอบที่คุณลบ: ฉันเปลี่ยนข้อกำหนด 8 ชั่วโมงเป็นแบบอัตนัย "แค่พยายามไม่โพสต์มากเกินไป " รู้สึกอิสระที่จะยกเลิกการลบ
Pavel

@Pavel ฉันต้องการโพสต์คำตอบอีกครั้ง! : P
boboquack

@boboquack เกี่ยวกับการแก้ไขคำถามที่คุณเพิ่งเสนอ: Different versions of the same language count as the same language.รายการ "Python" เพียงอย่างเดียวภายใต้ "ภาษาที่ใช้ ... " ดูเหมือนจะดีพอ
R. Kap

@ R.Kap ขอบคุณจริง ๆ แล้วไม่ใช่สิ่งที่ฉันตั้งใจจะแก้ไขเบราว์เซอร์เพิ่งบันทึกการแก้ไขโพสต์ที่ไม่มีการโพสต์ก่อนหน้านี้ที่ฉันคัดลอกชื่อภาษา เมื่อฉันไปเพิ่มหลายโปสเตอร์ลงในรายการเวอร์ชันที่บันทึกไว้ของฉันก็ปรากฏขึ้นโดยที่ฉันไม่รู้
boboquack

2

คำตอบ 7: Minkolangระยะทาง: 4

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

ลองออนไลน์!

ฉันเพิ่ม7;N.ไปยังโปรแกรม โดยทั่วไป3, 2และ7จะผลักดันไปยังกองแล้ว 2 ;ยกกำลังเจ็ดใช้ สิ่งนี้จะถูกแสดงเป็นNumber จากนั้นโปรแกรมจะหยุด.


2

คำตอบ 11: ถ่านระยะทาง 5

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

ลองออนไลน์!

ตัวอักษรกรีกตัวพิมพ์ใหญ่และβเป็นตัวแปรที่กำหนดอักขระ ASCII ดังต่อไปนี้ ค่าสุดท้ายจะถูกพิมพ์โดยปริยาย


รอทำไมคุณเปลี่ยนคำตอบของ10คุณ? Mine เป็นคำตอบที่ 10
R. Kap

@ R.Kap ฉันได้ย้ายกลับไปที่ 11 ด้วยการแก้ไขอย่างที่ฉันทำก่อนหน้านี้
Jonathan Allan

โปรดทราบว่าหากคุณใช้ถ่านในอนาคต(ชัดเจน) จะสั้นกว่า
ASCII- เท่านั้น

@ ASCII เท่านั้น Ah ใช่แล้ว - ขอบคุณ!
Jonathan Allan

2

คำตอบ 10: dc , ระยะทาง 5

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

นี่คือที่ใช้โปรแกรมที่เอาท์พุทdc1024

ลองออนไลน์!


นั่นไม่ใช่วิธีที่ท้าทายการทำงานของคุณคือคำตอบที่ 10 และควรพิมพ์ 2 ^ 10
Leo

@Leo โอ้ขอโทษด้วย นั่นคือสิ่งที่ฉันได้รับจากการอ่านโพสต์ไม่ถูกต้อง แก้ไข: ได้รับการอัปเดตแล้ว
R. Kap

2

คำตอบ 12: Brainfuck ที่ปรับเปลี่ยนตนเอง

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

ลองออนไลน์!

SMBF นั้นเหมือนกับ brainfuck ยกเว้นซอร์สโค้ดมีอยู่บนเทปทางด้านซ้ายของตำแหน่งเริ่มต้น ที่นี่เรามีหมายเลขที่จะพิมพ์ย้อนกลับในตอนท้ายของรหัสและเราทำ<.สี่ครั้งเพื่อพิมพ์ตัวเลขทั้งสี่หลัก

ฉันเพิ่มรหัส<ก่อนหน้า.ในแต่ละรหัส (มี 3 รายการ) พิเศษ<.และแก้ไขหมายเลขสุดท้าย ระยะทางควรเป็น 8


2

คำตอบ 29: ระดับแปดเสียงระยะทาง: 1

disp(2^29)%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*'

ลองออนไลน์!

ทั้งหมดที่ฉันต้องทำคือการเปลี่ยน28ไป29


2

คำตอบ 31: JavaScript ES7, ระยะทาง 7

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*'

ES7 รองรับ**ผู้ใช้งานเพื่อพลังงาน

คุณสามารถลองออนไลน์ได้ที่นี่


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

คำตอบ 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:37ด้วย2 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 ฉันพยายามตั้ง 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 อย่างนี้ถือว่าใช้ได้
ATaco

2

ตอบ 66, es (shell) + 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*^?>

เปลี่ยนexitไปquit()และเพิ่มหลังจากที่ครั้งแรกiker rฉันไม่สามารถต้านทานและฉันต้องการเพิ่มตัวละครอีก 4 ตัว


แต่เราต้องทำงานเพื่อให้บรรลุเป้าหมาย _;
เลมอนที่ทำลายได้

ฟังดูเหมือนระยะทาง 8 ถึงฉัน
Sami Liedes

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