คำถามติดแท็ก interpreter

งานที่เกี่ยวข้องกับการเขียนล่ามภาษาต่าง ๆ หรือพิธีการ

15
พูดตามฉัน!
รับสตริงเป็นอาร์กิวเมนต์ส่งออกความยาวของสตริงย่อยที่ซ้ำกันที่ยาวที่สุดที่ไม่ซ้ำซ้อนกันหรือศูนย์หากไม่มีสตริงดังกล่าว คุณสามารถสมมติว่าสตริงอินพุตไม่ว่างเปล่า ตัวอย่าง abcdefabc: ซับสตริงabcซ้ำที่ตำแหน่ง 1 และ 7 ดังนั้นโปรแกรมควรเอาต์พุต3 abcabcabcabcab: abcabcหรือbcabcaหรือcabcabมีการทำซ้ำเพื่อให้โปรแกรมควรเอาท์พุท6 (สตริงย่อยabcabcabcabซ้ำแล้วซ้ำอีก แต่เหตุการณ์ที่เกิดขึ้นทับซ้อนกันดังนั้นเราจึงไม่ยอมรับมัน) aaaaaaa: aaaถูกทำซ้ำที่ตำแหน่ง 1 และ 4 ตัวอย่างเช่นดังนั้นโปรแกรมควรเอาต์พุต3 abcda: aซ้ำแล้วซ้ำอีกดังนั้นโปรแกรมควรจะออก1 xyz: ไม่มีสตริงซ้ำแล้วซ้ำอีก→ 0 ababcabcabcabcab: ควรกลับ6 นี่คือโค้ดกอล์ฟซึ่งมีจำนวนน้อยที่สุดที่จะชนะ
23 code-golf  string  code-golf  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  hexadecimal  code-golf  code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 


5
“ ขออภัยชายหนุ่ม แต่เต่าลงไปหมด!”
ดำเนินการระบบ Lindenmayer Lindenmayer ระบบ (หรือ L ระบบ) มีความเกี่ยวข้องกับThueและโพสต์ระบบและถูกนำมาใช้ในการสร้างแบบจำลองทางพฤกษศาสตร์และรุ่นเศษส่วน L-ระบบมีการอธิบายโดยสตริงเขียนใหม่ที่เป็นสัญลักษณ์จากสัญลักษณ์ตัวอักษรจะถูกจับคู่กับการเปลี่ยนลำดับของสัญลักษณ์ การรวบรวมการแม็พเหล่านี้ถือเป็นระบบ L ที่เหมาะสม วิธีการแสดงผลกราฟิกที่คิดค้นโดย Prusinkiewicz ตีความลำดับผลลัพธ์หลังจากการแมปได้ถูกนำไปใช้กับลำดับเริ่มต้นสำหรับการวนซ้ำตามจำนวนที่ระบุตามคำสั่ง Turtle-Drawing นี่อาจต้องใช้รหัสพิเศษเพื่อควบคุมขนาดของการวาดภาพเนื่องจากจำนวนการทำซ้ำที่แตกต่างกันอาจสร้างภาพที่มีขนาดต่างกันอย่างมาก งานของคุณคือรันระบบ L ในจำนวนอักขระน้อยที่สุด โปรแกรมของคุณจะต้องสามารถแสดงผลทั้ง Dragon Curve และ Branching Stems จากหน้า Wikipedia โดยให้ข้อมูลที่เหมาะสม (ไฟล์บรรทัดคำสั่ง แต่ภายนอกไปยังแหล่งที่มาโปรด) นี่คือรหัสกอล์ฟ แก้ไข: นี่คือตัวอย่างที่ฉันโพสต์รอบเมือง คำตอบ SO / หมุนไปทางทิศเหนือ { ที่ฉันค้นพบครั้งแรก L-ระบบ } , คำตอบ SO / วิธีการโปรแกรม-a-เศษส่วน , คำตอบ SO …

11
ตีความภาษาของคุณ แต่ไม่ใช่ด้วยตัวคุณเอง?
มีความท้าทายมากมายที่พูดว่า "ตีความ X" ซึ่ง X เป็นภาษาที่เรียบง่าย ในความคิดของฉันมันน่าเบื่อเกินไป เพื่อให้ทุกคนที่ผัดวันประกันพรุ่งในอินเทอร์เน็ตเป็นสิ่งที่น่าสนใจที่จะทำคุณสามารถลองทำสิ่งนี้: ท้าทาย $LANGเลือกภาษา $LANGสามารถเป็นภาษาการเขียนโปรแกรมที่สมบูรณ์ทัวริงหรือชุดย่อยที่สมบูรณ์ของภาษาการเขียนโปรแกรม ระวังหากคุณไม่ใช้คุณสมบัติของภาษาของคุณใน$LANGการตีความคุณจะต้องไม่ใช้มันสำหรับโปรแกรมของคุณเองเช่นกันเนื่องจากการส่งของคุณจะต้องเขียน$LANGด้วย เขียนคอมไพเลอร์ / ล่ามเขียนใน$LANG $LANGคุณสามารถใช้สิ่งอำนวยความสะดวกทั้งหมด (รวมถึงevalและเพื่อน) ของภาษาของคุณที่มีอยู่เพื่อเขียนคอมไพเลอร์นี้ เพื่อให้งานมีความท้าทายมากขึ้นมีข้อ จำกัด เพียงข้อเดียว: โปรแกรมของคุณควรสามารถตีความ / คอมไพล์โปรแกรมที่ใช้ได้ทั้งหมด$LANGยกเว้นล่าม / คอมไพเลอร์ของคุณเอง หากเกิดขึ้นว่าโปรแกรมที่จะตีความ / รวบรวมเป็นล่ามหรือคอมไพเลอร์ของคุณเอง (โดยไม่คำนึงถึงชื่อไฟล์) โปรแกรมของคุณควรทำสิ่งที่ไม่เกี่ยวข้องอย่างสมบูรณ์กับการทำงานของล่ามหรือคอมไพเลอร์ (เช่น barfing หรือการพิมพ์Hello, world!) เพื่อให้งานนี้ซับซ้อนยิ่งขึ้นโปรแกรมของคุณจะต้องไม่อ่านซอร์สของตัวเองเมื่อรวบรวมหรือตีความ ข้อมูลจำเพาะ งานนี้เป็นรหัสกอล์ฟ การส่งที่มีอักขระน้อยที่สุดที่ชนะถูกต้อง ในกรณีที่เสมอกันการแก้ปัญหาที่ถูกส่งมาก่อนชนะ โปรแกรม / สคริปต์ของคุณควรอ่านโปรแกรมที่จะตีความจากไฟล์ คุณอาจ hardcode เส้นทางและชื่อของมัน เมื่อไฟล์ถูกอ่านคุณอาจรวบรวมไฟล์ไปยังไฟล์อื่น (ซึ่งจะต้องสามารถเรียกใช้งานได้ในระบบของคุณ) หรือเรียกใช้โดยตรง หากขาดความสามารถในการอ่านไฟล์ที่คุณสามารถเลือกวิธีการอ่านรหัสที่พอดีอีก$LANG …

7
ตีความ> <> (ปลา)
ในขณะที่&gt; &lt;&gt; ไม่ใช่ภาษายอดนิยมมันสามารถดีสำหรับการเล่นกอล์ฟและถูกนำมาใช้ในเว็บไซต์นี้ มันได้แรงบันดาลใจจากBefungeและมีความคล้ายคลึงกันในคำแนะนำ คำสั่งที่จำเป็น: &gt; &lt; ^ v เปลี่ยนทิศทางของตัวชี้คำสั่ง (ขวา, ซ้าย, ขึ้น, ลง) / \ | _ # กระจก; ตัวชี้จะเปลี่ยนทิศทางขึ้นอยู่กับทิศทางที่มีอยู่แล้ว x ทิศทางแบบสุ่ม + - * , % การบวกการลบการคูณการหารและโมดูโลตามลำดับ ดึง A และ B ออกจากสแต็กและส่งตัวดำเนินการ B ตัวหาร A ด้วย 0 ทำให้เกิดข้อผิดพลาด 0-9 a-f ส่งค่าที่สอดคล้องกันไปยังสแต็ก a = 10, ... , f = …

14
นี่เป็นตัวเลขสามเหลี่ยมที่ถูกตัดทอนหรือไม่?
ลำดับ OEIS ที่เกี่ยวข้อง: A008867 หมายเลขสามเหลี่ยมที่ถูกตัดทอน คุณสมบัติทั่วไปของตัวเลขสามเหลี่ยมคือพวกเขาสามารถจัดเรียงในรูปสามเหลี่ยม ตัวอย่างเช่นใช้ 21 และจัดเป็นสามเหลี่ยมของos: โอ อู OOO oooo ooooo oooooo ลองกำหนด "การตัดปลาย:" การตัดสามเหลี่ยมขนาดเดียวกันจากแต่ละมุม วิธีหนึ่งในการตัดทอน 21 มีดังนี้: . . . OOO oooo . ooo . . oo . (รูปสามเหลี่ยม.ถูกตัดจากต้นฉบับ) oเหลืออีก12 วินาทีดังนั้น 12 จึงเป็นเลขสามเหลี่ยมที่ถูกตัดทอน งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่น (หรือเทียบเท่า) ที่ใช้จำนวนเต็มและส่งกลับ (หรือใช้วิธีการส่งออกมาตรฐานใด ๆ ) ไม่ว่าจะเป็นตัวเลขเป็นจำนวนสามเหลี่ยมตัดทอน กฎระเบียบ ไม่มีช่องโหว่มาตรฐาน อินพุตเป็นจำนวนเต็มที่ไม่เป็นลบ การตัดไม่สามารถมีความยาวด้านเกินกว่าครึ่งหนึ่งของสามเหลี่ยมเดิม (เช่นการตัดไม่สามารถซ้อนทับกันได้) …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

27
เขียนล่ามสำหรับ *
งานง่าย เขียนล่ามภาษาที่* นี่คือลิงก์ที่ใหญ่กว่าไปยังวิกิ มีโปรแกรม * ที่ใช้ได้เพียงสามโปรแกรมเท่านั้น: * พิมพ์ "Hello World" * พิมพ์ตัวเลขสุ่มระหว่าง 0 ถึง 2,147,483,647 *+* ทำงานตลอดไป กรณีที่สามจะต้องเป็นวงไม่สิ้นสุดตามข้อกำหนดใน คำถามนี้ การป้อนข้อมูล: อินพุตสามารถใช้วิธีการอินพุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา มันจะเป็นหนึ่งในโปรแกรมข้างต้น เอาท์พุท: กรณีแรกควรพิมพ์อย่างแน่นอนHello Worldโดยมีหรือไม่มีตัวแบ่งบรรทัดต่อท้าย สำหรับกรณีที่สองหากจำนวนเต็มสูงสุดของภาษาของคุณน้อยกว่า 2,147,483,647 ให้ใช้จำนวนเต็มสูงสุดของภาษาของคุณ เคสแรกและเคสที่สองสามารถพิมพ์ไปยังเอาต์พุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา กรณีที่สามไม่ควรให้ผลลัพธ์ใด ๆ เกณฑ์การให้คะแนน: เช่นนี้คือcode-golfคำตอบที่สั้นที่สุดเป็นไบต์ชนะ
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

5
บิตของผักดอง
โมดูลดองเกิลของไพ ธ อนใช้สำหรับการทำให้เป็นอนุกรมทำให้สามารถทิ้งวัตถุในลักษณะที่สามารถสร้างขึ้นใหม่ได้ในภายหลัง สำหรับสิ่งนี้ pickle ใช้ภาษาสแต็กพื้นฐานอย่างง่าย เพื่อให้เข้าใจง่ายเราจะติดต่อกับชุดย่อยของภาษานี้: ( Push a mark to the stack S'abc'\n Push a string to the stack (here with contents 'abc') l Pop everything up to the last mark, wrapping all but the mark in a list t Pop everything up to the last mark, wrapping …

10
สร้างล่ามภาษาการเขียนโปรแกรม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา งาน: คุณต้องสร้างล่ามที่สามารถแยกวิเคราะห์ตัวอย่างของภาษาการเขียนโปรแกรม ภาษาไม่จำเป็นต้องมีความซับซ้อน แต่จะต้องมีองค์ประกอบของการสร้างประโยคต่อไปนี้: ความสามารถในการกำหนดและอ่านตัวแปร (อาจจะง่ายเหมือนa- zเป็นตัวแปรที่สร้างไว้ล่วงหน้า) ถ้าข้อความ (อื่นและไม่จำเป็นต้องมี) ลูป (นับเป็นจำนวนตามอำเภอใจไม่ต้องใช้การเข้าถึงตัวนับ) คณิตศาสตร์อย่างง่ายพร้อมตัวแปร (การบวกการลบการคูณการหารการหารมากกว่า / น้อยกว่าเท่ากับ) พิมพ์คำสั่ง กฎ: คุณไม่สามารถคัดลอกไวยากรณ์ของภาษายอดนิยมอื่น คุณต้องเขียนล่ามของคุณเองไม่ใช่การดัดแปลงล่ามอื่น คุณสามารถเขียนล่ามในภาษาใดก็ได้ เขียนโปรแกรมตัวอย่าง 99 ขวดเบียร์ในภาษาของคุณ (ดูที่นี่ ) นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้รับการโหวตมากที่สุดจะเป็นผู้ชนะ

8
เขียนล่ามคลาสสิคสุดมันส์!
Brain-Flak (ข้ามระหว่าง Brainf ** k และ Flak-Overstow) เป็นภาษาลึกลับแบบกองซ้อน เนื่องจากความท้าทายนี้ถูกโพสต์ภาษาได้พัฒนาและปรับปรุง แต่การแก้ไขครั้งแรกของภาษานี้เป็นที่รู้จักกันในชื่อ "brain-flak classic" คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สตริงของรหัสคลาสสิกของ Brain-Flak และประเมินผล นอกจากนี้ยังจะใช้รายการจำนวนเต็ม (เป็นไปได้ที่ว่างเปล่า) มีอินพุตสำหรับโปรแกรม Brain-Flak classic ภาษา Brain-Flak มีสองกองเรียกว่า 'left' และ 'right' สแต็คที่ใช้งานเริ่มต้นที่ด้านซ้าย หากสแต็กที่ว่างเปล่าถูกตอกหรือแอบดูมันจะส่งคืน 0 ไม่มีตัวแปร เมื่อโปรแกรมเริ่มขึ้นแต่ละอินพุตจะถูกพุชไปยังสแต็กที่แอ็คทีฟตามลำดับ (เพื่อให้อินพุตล่าสุดอยู่ด้านบนของสแต็ก) อักขระที่ใช้ได้ในโปรแกรม Brain-Flak ()[]{}&lt;&gt;เท่านั้นและต้องมีความสมดุลเสมอ หากมีอักขระที่ไม่ถูกต้องหรือวงเล็บไม่ตรงกันคุณจะได้รับพฤติกรรมที่ไม่ได้กำหนด ทุกอย่างถูกต้อง : มีสองประเภทของฟังก์ชั่นNiladsและMonads niladเป็นฟังก์ชั่นที่ใช้เวลา 0 ขัดแย้ง นี่คือทั้งหมดของ nilads: () +1 [] -1 {} ป็อปสแต็คที่ใช้งานอยู่ …

6
ข้อสรุป? นั่นคือมือขวาของฉัน!
บทนำ Forteเป็นภาษาลึกลับที่แปลกประหลาดมากขึ้นอยู่กับแนวคิดของการปรับเปลี่ยนค่าของตัวเลข ในหมายเลข Forte ไม่ใช่ค่าคงที่ แต่เป็นตัวแปรคุณสามารถใช้LETคำสั่งเพื่อกำหนดค่าใหม่ให้กับพวกเขา ตัวอย่างเช่นหลังจากการดำเนินการLET 2=4-1ต่อจากนี้ไป2จะถือว่าค่าของ3ซึ่งหมายความว่าเมื่อใดก็ตามที่มีค่า2ขึ้นมาในการแสดงออกของมันคือแทนที่จะเป็น "แทนที่" 3โดย การแสดงออกในขณะนี้จะประเมิน(1+1)*29 คำแนะนำใน Forte นี้ใช้สำหรับการจัดเก็บข้อมูลและควบคุมการไหล (มีการกำหนดหมายเลขบรรทัดและโดยการเปลี่ยนค่าของตัวเลขคุณสามารถกำหนดลำดับของการดำเนินการได้) ในการท้าทายนี้เราจะไม่จัดการกับประเด็นที่สองนี้ ความท้าทาย คุณจะต้องเขียนล่ามสำหรับชุดย่อยที่เรียบง่ายของการLETแสดงออกของ Forte คุณจะได้รับชุดข้อมูลของบรรทัดตามไวยากรณ์นี้: &lt;line&gt;::= &lt;number&gt;=&lt;expression&gt; &lt;expression&gt;::= &lt;number&gt;|&lt;expression&gt;+&lt;number&gt; หมายเหตุ: ไวยากรณ์นี้ไม่ถูกต้อง Forte เนื่องจากไม่มีหมายเลขบรรทัด LET และวงเล็บ (ซึ่งจำเป็นต้องมีเสมอ) นั่นคือคุณจะต้องจัดการกับการสรุปผลการคำนวณและการกำหนดค่าให้กับตัวเลขเท่านั้น เครื่องหมายวงเล็บจะไม่ปรากฏในอินพุตและแต่ละนิพจน์จะต้องได้รับการประเมินจากซ้ายไปขวา: ระวังว่าผลลัพธ์บางส่วนได้รับผลกระทบจากการกำหนดใหม่! ตัวเลขจะเป็นจำนวนเต็มแบบไม่ลบเสมอจนถึงขีด จำกัด ของจำนวนเต็มพื้นฐานของภาษาของคุณ (หรือ 2 ^ 32 แล้วแต่จำนวนใดจะสูงกว่า) สำหรับแต่ละบรรทัดคุณควรส่งออกผลลัพธ์ของนิพจน์และกำหนดผลลัพธ์นี้ให้กับค่า (อาจกำหนดใหม่) ของหมายเลขแรกซึ่งจะส่งผลต่อวิธีตีความบรรทัดต่อไปนี้ นี่คือโค้ดกอล์ฟซึ่งเป็นรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ! กฎอื่น ๆ …

17
สร้างล่ามสำหรับภาษาที่ไม่มีอยู่จริง
สร้างล่ามสำหรับภาษาปลอมที่อิงกับสแต็กที่รับอินพุตแปลและแปลผลลัพธ์เป็นอาร์เรย์ของตัวเลข ควรวนซ้ำแต่ละไบต์และทำหน้าที่แตกต่างกันตามตารางนี้: 0000 (0): เชื่อมต่อ (รวมสองตัวเลขบนสุดในสแต็กราวกับว่าเป็นสตริงตัวอย่างเช่น 12,5 -&gt; 125) 0001 (1): เพิ่ม (เพิ่ม 1 ไปยังหมายเลขที่ด้านบนของสแต็ก) 0010 (2): ลดลง (ลบหนึ่งจากจำนวนที่ด้านบนของสแต็ค) 0011 (3): คูณ (คูณสองตัวเลขบนสุดในสแต็ค) 0100 (4): หาร (หารจำนวนที่ 2 ถึงด้านบนด้วย หมายเลขด้านบนของสแต็ก) 0101 (5): เพิ่ม (เพิ่มหมายเลขสองอันดับแรกบนสแต็ก) 0110 (6): ลบ (ลบหมายเลขด้านบนของสแต็กจากด้านล่าง) 0111 (7): เลขชี้กำลัง ( คำนวณตัวเลขที่สองขึ้นไปสู่กำลังของจำนวนสูงสุด) 1,000 (8): โมดูลัส: (ค้นหาโมดูลัสที่สองไปด้านบนสุด) 1001 (9): หมุนไปทางขวา …

3
ค้นหารูปแบบในเงื่อนไข
ในความท้าทายนี้งานของคุณคือการหาวัสดุพิมพ์ที่มีโครงสร้างที่กำหนด อินพุต ข้อมูลของคุณจะเป็นสองสายที่เป็นตัวเลขไม่ว่างเปล่าเป็นรูปแบบ pและข้อความ tแนวคิดก็คืออักขระแต่ละตัวจะpแทนซับสตริงที่ไม่ว่างเปล่าที่ต่อเนื่องกันtซึ่งเกิดขึ้นถัดจากกันและกันและpแสดงถึงการต่อกันของมัน อักขระที่เหมือนกันสอดคล้องกับสตริงย่อยที่เหมือนกัน ตัวอย่างเช่นรูปแบบaaหมายถึงสแควร์ที่ไม่ว่างเปล่า (สตริงที่ได้จากการต่อสตริงที่สั้นกว่าเข้ากับตัวเอง) ดังนั้นรูปแบบaaสามารถจับคู่สตริงย่อยbyebyeได้ด้วยการaจับคู่แต่ละbyeครั้ง เอาท์พุต หากข้อความที่tมีสตริงย่อยที่pการแข่งขันแล้วส่งออกของคุณจะเป็นสตริงย่อยที่มีทวิภาคแทรกระหว่างสตริงที่ตรงกับตัวละคร: pตัวอย่างเช่นถ้าเรามีt = byebyenowและp = aaก็bye:byeเป็นผลลัพธ์ที่ยอมรับได้ อาจมีหลายตัวเลือกสำหรับสตริงย่อยที่ตรงกัน แต่คุณจะส่งออกหนึ่งในพวกเขาเท่านั้น ถ้าtไม่ได้มี substring :(จับคู่ของคุณออกจะเป็นหน้าเศร้า กฎและคำชี้แจง ตัวละครที่แตกต่างกันpสามารถสอดคล้องกับสตริงเหมือนกันเพื่อให้สามารถจับคู่สตริงp = aba AAAโปรดทราบว่าตัวละครจะต้องสอดคล้องกับสตริงที่ไม่ว่างเปล่า; โดยเฉพาะอย่างยิ่งถ้าpมีความยาวมากกว่าการส่งออกจะต้องมีt:( คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและคุณยังสามารถเปลี่ยนลำดับของอินพุตทั้งสองได้ จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ pattern text -&gt; outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -&gt; N aa Not -&gt; :( abcd Not -&gt; :( aaa rerere -&gt; …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

6
Bytecode ล่ามขนาดเล็กที่สุด / VM
กระดานผู้นำ - รวบรวม JIT (ด้านล่างดีกว่า) es1024 - 81.2 คะแนน (รวมถึงคอมไพเลอร์ที่ใช้งานได้!) Kieth Randall - 116 คะแนน Ell - 121 คะแนน กระดานผู้นำ - ตีความ (ด้านล่างดีกว่า) Martin Büttner - 706654 คะแนน (ประมาณ 2 ชั่วโมง) criptych - 30379 คะแนน (97 วินาที) ภารกิจของคุณคุณควรเลือกที่จะยอมรับมันคือการเขียน bytecode interpreter / VM ที่เล็กที่สุดที่เป็นไปได้ VM / interpreter ใช้สถาปัตยกรรม CISC ขนาดเล็ก (การดำเนินการอาจแตกต่างกันในขนาด) …

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