คำถามติดแท็ก language-design

สำหรับความท้าทายขอให้ผู้เข้าร่วมออกแบบภาษาหรือบางส่วนของภาษา

10
เขียนภาษาการเขียนโปรแกรมของ Unknown ครบถ้วน
การพิจารณาว่าภาษานั้นมีความสมบูรณ์แบบหรือไม่นั้นสำคัญมากเมื่อออกแบบภาษา มันเป็นงานที่ค่อนข้างยากสำหรับภาษาเขียนโปรแกรมที่มีความลึกลับจำนวนมากที่เริ่มต้นด้วย ทำให้ภาษาการเขียนโปรแกรมบางอย่างยากที่จะพิสูจน์ว่าทัวริงสำเร็จแม้แต่นักคณิตศาสตร์ที่ดีที่สุดในโลกก็ยังไม่สามารถพิสูจน์ได้ด้วยวิธีใด งานของคุณคือการประดิษฐ์และใช้ภาษาที่มีความสมบูรณ์ทัวริงอาศัยอยู่กับปัญหาที่ยังไม่แก้ที่สำคัญในวิชาคณิตศาสตร์ กฎระเบียบ ปัญหาที่คุณเลือกจะต้องมีการโพสต์อย่างน้อย 10 ปีที่ผ่านมาและจะต้องมีการแก้ไขในขณะที่โพสต์ของคำถามนี้ มันอาจจะคาดเดาใด ๆ ที่สามารถพิสูจน์ได้ในวิชาคณิตศาสตร์ไม่ได้เป็นเพียงคนหนึ่งที่ระบุไว้บนหน้าวิกิพีเดีย คุณต้องระบุข้อมูลจำเพาะของภาษาและการใช้งานในภาษาที่มีอยู่ ภาษาการเขียนโปรแกรมจะต้องทัวริงสมบูรณ์ถ้าหากการคาดเดาถือ (หรือถ้าและเฉพาะในกรณีที่การคาดเดาไม่ได้ถือ) คุณต้องมีหลักฐานว่าทำไมทัวริงถึงสมบูรณ์หรือไม่สมบูรณ์ตามการคาดเดาที่เลือก คุณอาจเข้าใช้หน่วยความจำที่ไม่ได้ จำกัด เมื่อเรียกใช้โปรแกรมแปลหรือรวบรวม เนื่องจากเรามีความกังวลเกี่ยวกับ Turing ครบถ้วน I / O ไม่จำเป็นต้องใช้ แต่เป้าหมายคือการทำให้ภาษาที่น่าสนใจที่สุดดังนั้นมันอาจช่วย นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนมากที่สุดจะเป็นฝ่ายชนะ เกณฑ์เป้าหมาย คำตอบที่ดีควรทำอย่างไร? ต่อไปนี้คือสิ่งที่ต้องมองหาเมื่อลงคะแนน แต่ไม่จำเป็นต้องใช้เทคนิค มันไม่ควรเป็นภาษาที่ใช้ง่าย การเปลี่ยนภาษาที่มีอยู่ให้เหมาะสมกับข้อกำหนดนั้นเป็นสิ่งที่ดี แต่การแก้ไขในสภาพนั้นไม่ได้รับการสนับสนุนเนื่องจากมันน่าเบื่อ ตามที่กล่าวโดยais523ใน Nineteeth Byte: ฉันชอบที่จะทำให้ลูกเล่นของ esolangs อบเข้ากับภาษาให้แน่นยิ่งขึ้น มันควรจะน่าสนใจเป็นภาษาลึกลับแบบสแตนด์อโลน

15
สร้างภาษาการเขียนโปรแกรมที่ดูเหมือนจะใช้ไม่ได้
หัวข้อความท้าทายโจรอยู่ที่นี่ ความท้าทายของตำรวจ: ออกแบบภาษาการเขียนโปรแกรมที่ดูเหมือนจะใช้ไม่ได้กับการเขียนโปรแกรม แต่ยอมรับการคำนวณ (หรืออย่างน้อยก็ทำภารกิจให้สำเร็จ) ผ่านกลไกที่ไม่ชัดเจน คุณควรออกแบบภาษาโปรแกรมอย่างง่ายที่อ่านรหัสจากไฟล์อินพุตจากนั้นทำบางสิ่ง ... คุณต้องจัดเตรียมโปรแกรมโซลูชันที่ค้นหาหมายเลขที่ใหญ่ที่สุดอันดับ 3 ในอินพุตเมื่อรันในล่ามของคุณ คุณต้องทำให้มันยากที่สุดเท่าที่จะเป็นไปได้เพื่อให้โจรหาโปรแกรมแก้ไขปัญหา โปรดทราบว่าโจรสามารถโพสต์ใด ๆการแก้ปัญหาที่สำเร็จงานที่ไม่ได้เป็นเพียงคนที่คุณมีอยู่ในใจ นี่คือการประกวดความนิยม เป้าหมายของตำรวจคือการได้รับคะแนนเสียงมากที่สุดเท่าที่จะเป็นไปได้ในขณะที่อยู่รอดได้ 8 วันหลังจากโพสต์ล่ามโดยไม่แตก ด้วยเหตุนี้แนวทางปฏิบัติดังต่อไปนี้ควรช่วย: อธิบายความหมายของภาษาของคุณอย่างแม่นยำ การเขียนโค้ดที่อ่านได้ กลวิธีต่อไปนี้เป็นกำลังใจอย่างยิ่ง: การใช้การเข้ารหัสแฮชหรือวิธีการเข้ารหัสอื่น ๆ หากคุณเห็นภาษาที่ใช้การเข้ารหัส RSA หรือปฏิเสธที่จะรันโปรแกรมเว้นแต่ว่าแฮช SHA-3 นั้นมีค่าเท่ากับ 0x1936206392306 โปรดอย่าลังเลที่จะลงคะแนน ความท้าทายของโจร: เขียนโปรแกรมที่ค้นหาเลขจำนวนเต็มอันดับสามในอินพุตเมื่อรันในล่ามของตำรวจ อันนี้ค่อนข้างตรงไปตรงมา ในการถอดรหัสคำตอบตำรวจคุณต้องสร้างโปรแกรมที่ทำงานให้เสร็จสมบูรณ์เมื่อทำงานในล่าม เมื่อคุณถอดรหัสคำตอบให้โพสต์ความคิดเห็นว่า "แคร็ก" ในคำตอบของตำรวจที่ลิงก์ไปยังโพสต์ของคุณ ใครก็ตามที่แคร็กตำรวจมากที่สุดชนะเธรดของโจร กฎ I / O ล่ามควรใช้ชื่อไฟล์บนบรรทัดคำสั่งสำหรับโปรแกรมและใช้อินพุตและเอาต์พุตมาตรฐานเมื่อเรียกใช้ การป้อนข้อมูลจะได้รับใน unary และประกอบด้วยอักขระเท่านั้น0และ1(48 และ 49 ใน …

6
ออกแบบภาษา: การจับคู่รูปแบบ 2 มิติ
นี่คือรายปักษ์ท้าทาย # 6 กระทู้: การออกแบบภาษา มีห้องแชทสำหรับความท้าทายนี้ มาร่วมกับเราถ้าคุณต้องการที่จะพูดคุยความคิด! และตอนนี้สำหรับบางสิ่งที่แตกต่างอย่างสิ้นเชิง ... ปักษ์นี้เราต้องการทดสอบกับความท้าทายรูปแบบใหม่ ในความท้าทายนี้คุณจะได้ออกแบบภาษา! การจับคู่รูปแบบเป็นปัญหาที่พบบ่อยมากในการเขียนโปรแกรมและมักจะมีประโยชน์มากสำหรับการเขียนโค้ดกอล์ฟ ตัวอย่างเช่นนิพจน์ปกติสามารถใช้ตรวจหารูปแบบในบรรทัดข้อความได้ อย่างไรก็ตามไม่มีวิธีการใด ๆ ที่จัดตั้งขึ้นเพื่ออธิบายและตรวจจับลวดลายสองมิติ ความท้าทาย คุณกำลังออกแบบภาษาที่จับคู่รูปแบบซึ่งช่วยให้คำอธิบายของรูปแบบสองมิติในบล็อกข้อความ โหมดการทำงานของภาษาของคุณจะคล้ายกับการแสดงออกปกติ (แม้ว่าภาษาของคุณไม่จำเป็นต้องมีอะไรที่เหมือนกันกับ regex อื่น ๆ ): ในฐานะที่เป็นอินพุตคุณจะได้รับบล็อกสี่เหลี่ยมเป็นข้อความ คุณอาจคิดว่าข้อความนั้นประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ (0x20 ถึง 0x7E) และบรรทัดใหม่ (0x0A) เพื่อแยกแถวของตาราง หากการจับคู่ตามคำอธิบายรูปแบบสามารถพบได้เป็นส่วนย่อยของบล็อกข้อความนี้การแข่งขันนี้ควรจะกลับหรือพิมพ์ หากการจับคู่นั้นไม่ใช่รูปสี่เหลี่ยมผืนผ้าก็ควรจะมีเบาะไปยังพื้นที่สี่เหลี่ยมที่มีอักขระที่สงวนไว้บางส่วน หากมีการแข่งขันที่ถูกต้องหลายครั้งคุณอาจตัดสินใจเลือกวิธีการจับคู่ที่ส่งคืน (ใหญ่ที่สุดเล็กที่สุดก่อน ฯลฯ ) สำหรับบางแอปพลิเคชันอาจเป็นประโยชน์หากการใช้งานของคุณสามารถส่งคืนตำแหน่งของการแข่งขันแทนการจับคู่เอง แต่นี่ไม่ใช่ข้อกำหนด อย่างน้อยที่สุดภาษาของคุณควรจะสามารถจับคู่รูปแบบเป็นส่วนย่อยย่อยที่ต่อเนื่องกันของรูปสี่เหลี่ยม คำตอบของคุณควรมี: คำอธิบายของภาษา การดำเนินงานการทำงาน นี่อาจเป็นโปรแกรมหรือชุดของฟังก์ชั่น / ชั้นเรียนในภาษาที่คุณเลือก คุณควรแสดงให้เห็นถึงภาษาของคุณด้วยการแสดงให้เห็นว่าสามารถใช้ในการแก้ตัวอย่างด้านล่างได้อย่างไร …

3
ออกแบบคอมพิวเตอร์ชุดคำสั่งหนึ่งชุด!
หมายเหตุ: ฉันยินดีที่จะให้รางวัลกับคำตอบที่ฉันคิดว่าน่าสนใจ ความท้าทายของคุณคือการออกแบบคอมพิวเตอร์ชุดคำสั่งทัวริงที่สมบูรณ์ (OISC): OISC เป็นเครื่องที่เป็นนามธรรมที่ใช้เพียงคำสั่งเดียว - obviating ความต้องการ opcode ภาษาเครื่อง ด้วยตัวเลือกที่ชาญฉลาดสำหรับการเรียนการสอนเดียวและได้รับทรัพยากรที่ไม่ จำกัด OISC จึงสามารถเป็นคอมพิวเตอร์สากลได้ในลักษณะเดียวกับคอมพิวเตอร์ทั่วไปที่มีคำสั่งมากมาย ที่นี่นี้เป็นตัวอย่างของคำสั่งเดียวที่ทำให้ OISC สมบูรณ์แบบของทัวริง กฎ: คุณต้องให้การตีความหรือการพิสูจน์ดังกล่าว คุณต้องจัดเตรียมล่ามสำหรับภาษาของคุณ ล่ามนี้ควรถูก จำกัด โดยหน่วยความจำ / เวลา (เช่นต้องไม่มีข้อ จำกัด ที่ผู้ใช้กำหนด) หากคุณไม่ได้จัดหาล่ามให้กับภาษาของคุณ (ไม่ว่าจะด้วยเหตุผลใดก็ตามนอกจากความเกียจคร้าน) คุณต้องพิสูจน์ว่าเป็นไปได้ที่จะมีคนเขียน ล่ามจะต้องเป็นไปได้ต้องเป็นไปได้ คุณต้องพิสูจน์ความสมบูรณ์ของทัวริง คุณต้องรวมหลักฐานที่เป็นทางการว่าภาษาของคุณนั้นทัวริงสมบูรณ์ วิธีง่ายๆในการทำเช่นนี้คือการพิสูจน์ว่าสามารถตีความหรือมีพฤติกรรมเช่นเดียวกับภาษาทัวริงที่สมบูรณ์แบบอื่น ภาษาพื้นฐานที่สุดในการตีความจะBrainf ** k ตัวอย่างเช่นภาษาปกติที่มีคำสั่งทั้งหมดเหมือนกับ Brainf ** k (และข้อ จำกัด หน่วยความจำที่ผู้ใช้กำหนด) คือทัวริงสมบูรณ์เพราะสิ่งใดก็ตามที่สามารถนำมาใช้ใน Brainf ** k …

3
สร้างภาษากอล์ฟกับฉัน
ผู้ใช้ PPCG จำนวนมากช่วยในการสร้างความท้าทายนี้ทั้งในการแชทและแซนด์บ็อกซ์โดยเฉพาะมาร์ตินเอนเดอร์ , AdmBorkBork , Emignaและuser202729 ชุมชนของเราพบว่าจำเป็นต้องสร้างชุดภาษาที่ออกแบบมาเฉพาะสำหรับการเล่นกอล์ฟ "ภาษาการเล่นกอล์ฟ" ในขณะที่เราเรียกพวกเขา ภาษาดังกล่าวได้พัฒนามาจากที่ยอดเยี่ยมครั้งนี้ clunky GolfScriptกับภาษาที่กระชับเงาเช่นเยลลี่และแกลบ อย่างที่เราเห็นภาษาเหล่านี้สั้นลงเรื่อย ๆ สำหรับชุดของงาน ดังนั้นในฐานะผู้เชี่ยวชาญที่ชัดเจนเกี่ยวกับภาษากอล์ฟเราควรออกแบบภาษาร่วมกันเพื่อเอาชนะภาษาอื่น ๆ ทุกภาษาที่กล้าแข่งขัน แนะนำ Bugle! แตร: จากตัวย่อ BuGoL: Bu ILT ไป lfing L anguage ความท้าทายนี้จะทำงานอย่างไร ในกรณีที่คุณไม่ได้รับสิ่งที่ฉันพูดถึงในการแนะนำความท้าทายนี้เป็นความท้าทายคำตอบที่เราแต่ละคนมีส่วนร่วมกับล่ามภาษากอล์ฟใหม่ปรับปรุงความสามารถในการแข่งขันบน PPCG ด้วยคำตอบแต่ละข้อ ฉันจะโพสต์คำตอบแรกประกอบด้วยพื้นฐานของ spec / ล่ามภาษาและคำตอบอื่น ๆ ทั้งหมดจะดำเนินการต่อจากนั้น การส่งใหม่จะให้สิ่งต่อไปนี้: การเปลี่ยนแปลงข้อมูลจำเพาะของภาษา ล่ามที่ทันสมัยและตรงกับสิ่งที่วางไว้ในการเปลี่ยนแปลง คะแนนที่อัปเดตของภาษา (รายละเอียดเพิ่มเติมเล็กน้อย) คุณสามารถเปลี่ยนข้อมูลจำเพาะได้หนึ่งในสามวิธี: คุณอาจเพิ่มคำสั่งเดียว คุณสามารถเพิ่มคำสั่งใหม่สองคำสั่ง คุณสามารถแก้ไขพฤติกรรมของคำสั่งที่มีอยู่ได้ เกี่ยวกับล่ามใหม่คุณต้องใช้เวอร์ชันล่าสุดเขียนด้วย …

30
Mirage ของคนฉลาด
กาลครั้งหนึ่งฉันได้อ่านคำถาม / คำตอบนี้เกี่ยวกับ Quora มีโปรแกรมเมอร์ที่มีองศาวิทยาศาสตร์คอมพิวเตอร์ซึ่งไม่สามารถผ่านการทดสอบ FizzBuzz ได้หรือไม่ รหัสนี้เป็นคำตอบที่ชัดเจน for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i แน่นอนว่าFizzBuzzได้รับการตีกอล์ฟให้ตาย แต่นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ ในความเห็นมีคนพูดว่าคำตอบที่ชัดเจนนี้ดีมากเพราะมันง่ายที่จะเพิ่มเงื่อนไขพิเศษเช่นพิมพ์ "Jazz" …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

1
ภาษาที่ไม่ จำกัด
ประเภทใดประเภทหนึ่งที่ชื่นชอบความท้าทายบนเว็บไซต์นี้เป็นที่ จำกัด แหล่งที่มาของความท้าทาย ความท้าทายเหล่านี้กำหนดข้อ จำกัด ที่คอมพิวเตอร์จัดการได้ซึ่งแหล่งที่มาของคำตอบที่อาจเกิดขึ้นต้องผ่าน ฉันชอบความท้าทายเหล่านี้มากฉันทำงานเกี่ยวกับภาษากอล์ฟที่ออกแบบมาเพื่อเอาชนะความท้าทายเหล่านี้มาระยะหนึ่งแล้ว ตอนนี้ฉันต้องการขยายความท้าทายให้กับคุณ งานของคุณคือการออกแบบภาษาเพื่อแก้ปัญหาแหล่งงานที่ จำกัด คุณจะมีเวลาในการออกแบบและใช้งานภาษาซึ่งการเปลี่ยนแปลง ณ จุดและส่วนเพิ่มเติมใหม่จะไม่สามารถแข่งขันได้และการส่งทั้งหมดจะไปพบกันในการทดสอบความท้าทายแบบ จำกัด แหล่งที่มา เกณฑ์การให้คะแนน ก่อนที่จะโพสต์ความท้าทายฉันจะมาพร้อมกับรายการความท้าทายง่ายๆในการแก้ปัญหาและรายการข้อ จำกัด ของแหล่งที่มาที่ต้องติดตาม สำหรับการจับคู่ความท้าทายและข้อ จำกัด แหล่งที่มาแต่ละภาษาของคุณสามารถรับได้ระหว่าง 0 ถึง 2 คะแนน (จะมีความท้าทาย 10 ข้อและข้อ จำกัด 10 ข้อที่นำไปสู่การรวมกันทั้งหมด 100 ครั้ง) คะแนนภาษา 1 point หากสามารถทำงานให้เสร็จสมบูรณ์โดยมีข้อ จำกัด น้อยกว่า 150 ไบต์ 2 คะแนนหากการแก้ปัญหาเป็นทางออกที่สั้นที่สุดของการแข่งขันภาษาใด ๆ (ทั้งสองภาษาจะได้คะแนน 2 คะแนนในกรณีที่เสมอกัน) 0 คะแนนหากพวกเขาไม่สามารถสร้างโปรแกรมที่ทำงานให้เสร็จสมบูรณ์ภายใต้ข้อ …

3
เมื่อชีวิตให้มะนาวคุณต้องทำน้ำมะนาว
ท้าทาย คุณจะได้รับการป้อนข้อมูลสตริงทุกคำ"Lemon"จะพบว่ามันควรจะเปลี่ยนไป"Lemonade" แต่a , dและeจะต้องยืมมาจากที่อื่นในประโยค ตัวอย่าง อินพุตตัวอย่าง: ฉันพบมะนาวเมื่อตอนเป็นเด็ก ตัวอย่างผลลัพธ์: ฉันทำน้ำมะนาวเมื่อฉันยังเด็ก The Lemonadeสร้างขึ้นโดยการขโมยตัวอักษรยกต่อไปนี้จากต้นฉบับ ฉัน Foun dน้ำมะนาว WH E n ผมเป็นเด็ก นี่เป็นเพียงตัวอย่างหนึ่งที่เป็นไปได้คือ "e", "d" และ "a" ซึ่งอาจถูกนำมาจากที่ใดก็ได้ ( ยกเว้นจากคำว่าlemonแน่นอน ) ความคิดเห็น •หากมีไม่เพียงพอe, aหรือds คุณส่งออกสิ่งที่สามารถทำด้วยตัวอักษรจะต้องได้รับ ตัวอย่างเช่นการป้อนข้อมูลbdblemonจะส่งออกbblemond • lemonข้อความอาจไม่ได้เป็นแบบสแตนด์อโลน (เว้นวรรคในแต่ละด้าน) ตัวอย่างเช่นคุณอาจมีคำlemonsบางคำในอินพุตและเอาต์พุตควรเป็นlemonades •อินพุตอาจมีจำนวนlemons ใด ๆแม้แต่ 0 lemonวินาที (ซึ่งในกรณีนี้เอาต์พุตจะเหมือนกับอินพุต) •คุณสามารถทำน้ำมะนาวของคุณด้วยตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กตัวอย่างเช่นleMonอาจกลายเป็นleMonadeและการadeยืมสามารถเป็นกรณีใด ๆ (ดังนั้นมันอาจจะกลายเป็นleMonADe) กรณีของจดหมายที่คุณยืมต้องอยู่ในสภาพเดิมเมื่อคุณยืม (ตัวอย่างอินพุต -> เอาต์พุตhe …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

19
ทำให้โปรแกรมสามเหลี่ยมเป็นสิ่งที่ถูกต้อง
Triangularityเป็น esolang ใหม่ที่พัฒนาโดยMr. Xcoderโดยที่โครงสร้างของโค้ดต้องเป็นไปตามรูปแบบที่เฉพาะเจาะจงมาก: สำหรับnบรรทัดที่รหัสจะต้องมี2n-1ตัวอักษรของโปรแกรมอย่างแน่นอน สิ่งนี้ทำให้เกิดรูปสามเหลี่ยม / ปิรามิดโดยที่บรรทัดแรกมีอักขระเพียงตัวเดียวและส่วนที่เหลือเพิ่มขึ้นทีละ 2 แต่ละบรรทัดจะต้องมีการบุด้วย.s ที่ด้านซ้ายและขวาเช่นตัวละครที่มีศูนย์กลางอยู่ที่เส้นของพวกเขาและทุกบรรทัดจะมีความยาวเบาะเดียวกัน หากlกำหนดเป็นจำนวนบรรทัดในโปรแกรมแต่ละบรรทัดในโปรแกรมต้องมีความยาว2 * l - 1 ตัวอย่างเช่นโปรแกรมทางด้านซ้ายนั้นถูกต้อง แต่โปรแกรมทางด้านขวาไม่ใช่: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS เมื่อวางในโครงสร้างที่ถูกต้องชื่อจะชัดเจน งาน งานของคุณคือการใช้สตริงบรรทัดเดียวเป็นอินพุตแทนรหัสสามเหลี่ยมและเอาท์พุทมันแปลงเป็นรหัสที่ถูกต้องตามที่อธิบายไว้ข้างต้น ข้อมูลจำเพาะสำหรับ I / O: ข้อมูลที่ป้อนจะมีอักขระอยู่ในช่วงเท่านั้น 0x20 - 0x7e ความยาวของอินพุตจะเป็นตัวเลขจตุรัสเสมอ คุณต้องใช้จุดสำหรับการขยายช่องว่างไม่ใช่อย่างอื่น คุณสามารถอินพุตและเอาต์พุตด้วยวิธีการที่ยอมรับได้ นี่คือรหัสกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ! กรณีทดสอบ …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

5
คำแนะนำสำหรับการจัดเก็บในภาษากอล์ฟ
ฉันกำลังเขียนภาษากอล์ฟ คุณแนะนำตัวแปรสแต็กเทปรีจิสเตอร์และอื่น ๆ สำหรับการจัดเก็บในภาษารหัส - กอล์ฟหรือไม่? สิ่งที่เกี่ยวกับการป้อนข้อมูลโดยนัย? คำจำกัดความหยาบ: ตัวแปรเป็นเพียงชื่อ (ปกติตัวละครตัวหนึ่งยาวในภาษากอล์ฟ) ที่มีค่าสามารถกำหนดให้และต่อมาเรียกโดยชื่อนั้น การลงทะเบียนเป็นเหมือนตัวแปร แต่มีคำสั่งของตัวเอง (โดยปกติคือไบต์เดียว) สำหรับการตั้งค่า / รับค่า สแต็คเป็นตัวแปรที่มีความยาวอาร์เรย์ / รายการค่าที่มากที่สุดที่เพิ่งเพิ่มค่า (ค่า "ด้านบน") เป็นคนที่มีการปรับเปลี่ยน คิวเป็นเหมือนกองยกเว้นค่า "ที่ด้านล่าง " เป็นคนที่มีการปรับเปลี่ยน เทปเป็นแบบคงที่อาร์เรย์ / รายการค่าที่แต่ละค่ามีดัชนี ข้อแตกต่างที่สำคัญระหว่างสแต็กและเทปคือค่าบนเทปจะถูกแก้ไขแบบแทนที่ ฉันขอขอบคุณที่ได้ทราบถึงข้อดีและข้อเสียของแต่ละตัวเลือกสำหรับสถานการณ์ที่แตกต่างกันและโดยรวม กรุณาหลีกเลี่ยงความคิดเห็นและข้อความสำรองด้วยเหตุผล

1
หลบหนีจากผ้าใบกันน้ำ (ตำรวจ)
มันคือ ตำรวจและโจร ความท้าทายจากการนิยามภาษาและการพิสูจน์ว่าทัวริงสมบูรณ์ นี่คือด้ายของตำรวจ ด้ายโจรอยู่ที่นี่ ตำรวจ ในฐานะตำรวจคุณจะเตรียมสองสิ่ง: สเปคอย่างเป็นทางการของภาษาการเขียนโปรแกรมหรือระบบการคำนวณอื่น ๆ (ระบบการคำนวณมีการกำหนดไว้ด้านล่าง) หลักฐานที่แสดงว่าระบบของคุณกำลังทัวริงสมบูรณ์ตามคำจำกัดความที่เข้มงวดด้านล่าง คุณจะโพสต์สเปคของภาษาของคุณและโจรจะพยายาม "ถอดรหัส" โดยการพิสูจน์ความสมบูรณ์ของทัวริง หากการส่งของคุณไม่แตกภายในหนึ่งสัปดาห์คุณสามารถทำเครื่องหมายว่าปลอดภัยและโพสต์หลักฐานของคุณ (คำตอบของคุณอาจถูกยกเลิกหากมีคนพบข้อบกพร่องในหลักฐานของคุณเว้นแต่คุณจะแก้ไขได้) มันคือ ความนิยมประกวดดังนั้นผู้ชนะจะเป็นคำตอบที่มีคะแนนโหวตมากที่สุดและไม่แตกหรือเป็นโมฆะ ความท้าทายคือปลายเปิด - ฉันจะไม่ยอมรับคำตอบ เพื่อความท้าทายนี้ระบบการคำนวณจะถูกกำหนดเป็นสี่สิ่ง: A P"ชุดโปรแกรม" นี่จะเป็นชุดที่ไม่มีที่สิ้นสุดนับได้เช่นสตริงจำนวนเต็มต้นไม้ไบนารีการกำหนดค่าพิกเซลบนกริดเป็นต้น (แต่ดูข้อ จำกัด ทางเทคนิคด้านล่าง) "ชุดอินพุต" Iซึ่งจะเป็นชุดที่ไม่มีที่สิ้นสุดนับไม่ได้และไม่จำเป็นต้องเป็นชุดเดียวกันกับP(แม้ว่าจะเป็น) "ชุดเอาต์พุต" Oซึ่งในทำนองเดียวกันจะเป็นชุดที่ไม่มีที่สิ้นสุดนับและอาจหรืออาจจะไม่เหมือนPหรือI กำหนดขั้นตอนกลไกสำหรับการผลิตออกoจากโปรแกรมpและใส่iที่p, iและoเป็นสมาชิกของP, IและOตามลำดับ ขั้นตอนนี้ควรเป็นไปตามหลักการสามารถนำไปใช้กับเครื่องทัวริงหรือแบบจำลองนามธรรมอื่น ๆ ของการคำนวณ แน่นอนว่ากระบวนการอาจไม่สามารถหยุดได้ทั้งนี้ขึ้นอยู่กับโปรแกรมและอินพุตของโปรแกรม ชุดP, IและOจะต้องเป็นเช่นที่คุณสามารถแสดงให้พวกเขาเป็นสตริงในลักษณะที่คำนวณ (สำหรับตัวเลือกที่เหมาะสมที่สุดสิ่งนี้จะไม่สำคัญกฎนี้มีอยู่เพื่อป้องกันคุณจากการเลือกชุดแปลก ๆ เช่นชุดของเครื่องจักรทัวริงที่ไม่หยุด) ทัวริงสมบูรณ์จะถูกกำหนดดังต่อไปนี้: สำหรับฟังก์ชั่นบางส่วนที่คำนวณได้fจากIถึงOมีโปรแกรมpในPลักษณะที่กำหนดpและอินพุตiเอาต์พุตคือf(i)ถ้าf(i)มีค่า (มิฉะนั้นโปรแกรมจะไม่หยุดทำงาน) คำว่า "คำนวณ" ในคำนิยามข้างต้นหมายถึง …

1
สร้างภาษาและการใช้งานที่คล้ายกับมิวเรียล
คุณยายมิวเรียลเป็นภาษาที่วิธีเดียวในการวนลูปคือการสร้างควินินและดำเนินการ งานของคุณคือสร้างภาษาของคุณเองด้วยคุณสมบัตินี้และนำไปใช้งานในภาษาที่มีอยู่แล้ว เราจะกำหนดภาษาที่คล้ายกับมิวเรียลดังนี้: แต่ก็มีในตัวคำสั่งสำหรับการดำเนินการรหัสในภาษาของตัวเองคล้ายกับมิวเรียลของคำสั่งหรือการหลาม@exec ทัวริงเสร็จสมบูรณ์ หากคุณลบคำสั่งการเรียกใช้งานในตัวคำสั่งนั้นจะไม่เสร็จสิ้นอีกต่อไป Muriel นั้นเหมือน Muriel เหมือนกับ@คำสั่งในการประมวลผลในตัว Smurfเป็นเหมือน Muriel (คำสั่งในการประมวลผลในตัวคือx) งูหลามเป็นไม่ Muriel execเหมือนเพราะมันยังคงเป็นทัวริงสมบูรณ์หากคุณลบ งานของคุณคือการสร้างภาษาการเขียนโปรแกรมที่คล้ายกับมิวเรียลและจากนั้นจะจัดทำมันในภาษาที่คุณเลือก คะแนนของคุณคือระยะเวลาในการใช้งานซึ่งคุณกำลังพยายามลดให้น้อยที่สุด หมายเหตุ: การประมวลผลในตัวของคุณไม่จำเป็นต้องทำงานเหมือนกับ Muriel มันขึ้นอยู่กับคุณว่าจะจัดการกับการสิ้นสุดของโปรแกรมย่อยข้อผิดพลาดการกำหนดขอบเขต ฯลฯ ได้อย่างไร ภาษาที่คุณเขียนการดำเนินการไม่สามารถตัวเองเป็นเหมือนมิวเรียล (นี่คือรายการที่@ไม่ถูกต้อง) และต้องมีอยู่ก่อนโพสต์นี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.