คำถามติดแท็ก compile-time

สำหรับความท้าทายที่เกี่ยวข้องกับการทำบางสิ่งในเวลาคอมไพล์มากกว่ารันไทม์ ซึ่งหมายความว่าเฉพาะภาษาที่คอมไพล์เท่านั้นที่สามารถแข่งขันได้

17
สร้างคอมไพเลอร์ระเบิด
บทนำ คุณอาจคุ้นเคยกับzip bombs , XML bombsและอื่น ๆ กล่าวง่ายๆคือมันเป็นไฟล์ขนาดเล็ก (ค่อนข้าง) ซึ่งให้ผลลัพธ์มหาศาลเมื่อตีความโดยซอฟต์แวร์ไร้เดียงสา ความท้าทายที่นี่คือการใช้คอมไพเลอร์ในทางที่ผิด ท้าทาย เขียนซอร์สโค้ดที่มีขนาด 512 ไบต์หรือน้อยกว่าและคอมไพล์ลงในไฟล์ที่มีพื้นที่ว่างมากที่สุด ไฟล์ที่ส่งออกที่ใหญ่ที่สุดชนะ! กฎระเบียบ ตกลงดังนั้นจึงมีคำอธิบายคำจำกัดความและข้อ จำกัด ที่สำคัญบางประการ ผลลัพธ์ของการคอมไพล์ต้องเป็นไฟล์ELF , Windows Portable Executable (.exe), หรือ bytecode เสมือนสำหรับ JVM หรือ CLR ของ. Net (CLTC เสมือนจริงประเภทอื่น ๆ ก็น่าจะตกลงถ้าถาม) อัปเดต: เอาต์พุตของ Python .pyc / .pyo ก็มีผลเช่นกัน หากภาษาที่คุณเลือกไม่สามารถรวบรวมได้โดยตรงในรูปแบบใดรูปแบบหนึ่งก็อนุญาตให้ทำการ transpilation ตามด้วยการคอมไพล์ได้ด้วย ( อัปเดต: …

25
รหัสที่สั้นที่สุดเพื่อย่ออย่างถูกต้องตามกฎหมาย
ฉันเป็นนักพัฒนาและฉันไม่รู้สึกอยากทำงานของฉัน ฉันรู้จาก XKCD ว่าข้อแก้ตัวที่ดีที่สุดสำหรับการหย่อนลงคือการคอมไพล์โค้ดของคุณ ด้วยเหตุนี้ฉันคิดว่าฉันต้องการรหัสที่จะรวบรวมตลอดไป! และเนื่องจากฉันขี้เกียจและไม่ต้องการพิมพ์มากสิ่งนี้จึงต้องทำด้วยรหัสที่สั้นที่สุดเท่าที่จะเป็นไปได้ ดังนั้นงานของคุณคือการเขียนโปรแกรมที่ถูกต้องทางไวยากรณ์ แต่จะทำให้คอมไพเลอร์เข้าสู่วงวนไม่สิ้นสุด ข้อมูลจำเพาะ คุณต้องใช้ภาษาที่มีคอมไพเลอร์อย่างชัดเจน ระบุการนำไปปฏิบัติที่ใช้ในแต่ละโซลูชัน นี่คือรหัสกอล์ฟดังนั้นวิธีแก้ปัญหาที่สั้นที่สุดที่ถูกต้อง (เป็นไบต์) ชนะ คอมไพเลอร์สามารถยุติจากหน่วยความจำไม่เพียงพอหรือพื้นที่สแต็ก

8
อักขระ 1 ตัวที่สร้างข้อความผิดพลาดส่วนใหญ่จากการคอมไพล์ C ++
ดูเหมือนว่าการเปลี่ยนแปลงอย่างง่าย ๆ ในไฟล์ C ++ โดยเฉพาะกับเทมเพลตสามารถสร้างหน้าของข้อผิดพลาดได้ การประกวดครั้งนี้คือการดูว่า "ปังของเจ้าชู้" ที่ใหญ่ที่สุดคืออะไรนั่นคือข้อผิดพลาดที่ละเอียดมากขึ้นด้วยการเปลี่ยนแปลงที่เล็กที่สุดในรหัสที่มา (การเพิ่ม 1 ตัวอักษร) เนื่องจากภาษาอื่นมีสติมากกว่านี้จึง จำกัด เฉพาะ C ++ และ gcc เวอร์ชัน 4.x กฎระเบียบ ไฟล์ต้นฉบับต้นฉบับจะต้องรวบรวมกับ gcc 4.9.2 ไปยังรหัสวัตถุโดยไม่มีข้อผิดพลาด เพิ่มหนึ่งอักขระ ASCII ในซอร์สโค้ดเพื่อสร้างการพิมพ์ที่ผิดพลาดเพิ่มขนาดไฟล์ทีละ 1 ไบต์ คอมไพเลอร์ทำงานด้วยตัวเลือกเริ่มต้น ตัวเลือกที่จำเป็นเช่น-cและ-std=c++11ได้รับอนุญาตตัวเลือก-Wallไม่ได้ ตัวชี้วัดคือ number of bytes of generated error messages ----------------------------------------------------------------------- (bytes of source code with typo) (length of …

26
ขัดข้องคอมไพเลอร์ที่คุณชื่นชอบ [ปิด]
เขียนรหัสทางกฎหมายอย่างสมบูรณ์ในภาษาที่คุณเลือกซึ่งการรวบรวมจะทำให้คอมไพเลอร์ผิดพลาดหรือส่งไปยังวงวนไม่สิ้นสุด (เวลารวบรวมไม่สิ้นสุด) ข้อ จำกัด: ใช้ภาษามาตรฐานที่ใช้ในโลกแห่งความเป็นจริง ใช้คอมไพเลอร์มาตรฐานที่ได้รับการพัฒนามาอย่างดี (ไม่มีคำตอบเช่น "ฉันเขียนคอมไพเลอร์ C ของฉันที่ขัดข้องทุกอย่าง") รหัสจะต้องถูกกฎหมายในภาษา (ดังนั้นส่วนใหญ่คุณจะต้องใช้ประโยชน์จากคอมไพเลอร์หรือข้อบกพร่องทางภาษา) ใช้เวอร์ชันคอมไพเลอร์และตัวเลือกของคุณเพื่อให้ผู้อื่นสามารถทำซ้ำได้ อธิบายว่าทำไมคอมไพเลอร์จึงล้มเหลวถ้าเป็นไปได้ มีความสุข :)

5
แก้ปัญหาแปดราชินีในเวลาคอมไพล์ [ปิด]
คุณสามารถไขปริศนาแปดราชินีในเวลารวบรวมได้หรือไม่? เลือกรูปแบบผลลัพธ์ที่เหมาะสม ฉันสนใจเป็นพิเศษในการแก้ปัญหาการเขียนโปรแกรมเทมเพลต metaprogramming ของ C ++ แต่คุณสามารถใช้ภาษาที่มีโครงสร้างคล้ายกันเช่นระบบประเภทของ Haskell หลักการที่ดีเมตาโปรแกรมของคุณจะแสดงผลโซลูชันทั้งหมด ไม่มีการเข้ารหัส

22
การแทนที่สตริงแบบเรียกซ้ำ
งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสามสายA, B, Cสร้างสายออกที่แต่ละอินสแตนซ์ของBในAได้ถูกแทนที่ด้วยCซ้ำ การแทนที่แบบเรียกซ้ำหมายถึงการทำซ้ำการแทนที่โดยในแต่ละขั้นตอนอินสแตนซ์ที่ไม่ซ้ำซ้อนทั้งหมดของBในA(เลือกอย่างตะกละตะกลามจากซ้ายไปขวา) จะถูกแทนที่ด้วยCจนกว่าBจะไม่มีอยู่ในAนั้นอีก Input / Output คุณสามารถใช้ใด ๆ ของ วิธีการเริ่มต้นสำหรับ I / O สตริงจะมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น (และอาจมี ใด ๆ ก็ได้ ) Bจะไม่เป็นสตริงว่างเปล่าในขณะที่AและCอาจเป็น สตริงจะถือว่าเป็นธรรมดาคุณไม่สามารถยกตัวอย่างเช่นถือว่าBเป็นรูปแบบ Regex ชุดค่าผสมบางอย่างจะไม่สิ้นสุด โปรแกรมของคุณสามารถทำอะไรก็ได้ในกรณีเหล่านั้น กรณีทดสอบ สิ่งเหล่านี้อยู่ในรูปแบบ: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty …
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

6
การประกวด Bloatware: ผลิต 100+ MiB ที่ปฏิบัติการได้ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา สร้างซอร์สโค้ดแบบย่อในภาษาที่คุณชื่นชอบซึ่งรวบรวมเป็นไฟล์ปฏิบัติการขนาดใหญ่ (ไม่น้อยกว่า 104857600 ไบต์) โปรแกรมต้องสามารถรันได้ (สมมติว่ามีหน่วยความจำว่าง 1GB) และสามารถทำอะไรก็ได้ (ต้องการสิ่งที่เรียบง่ายเหมือนโลกสวัสดี) สนับสนุนการใช้เทคนิคที่ไม่ชัดเจน ตัวอย่างที่น่าเบื่อใน C: int a[1024*1024*25] = { 1 }; int main(){} คะแนนโบนัสหากสามารถ "อธิบาย" ได้ว่าเหตุใดจึงไม่สามารถลดขนาดของการปฏิบัติการได้ (เช่นการขยายตัวทั้งหมดจะถูกใช้จริง)

8
ย้อนกลับเรียงแทรก
วัตถุประสงค์ สร้างรายการที่มีสัญญาณรบกวนเดิมจากการเคลื่อนไหวที่มีการจัดเรียงการแทรกเพื่อจัดเรียง รายการต้นฉบับจะมีตัวเลขทั้งหมดตั้งแต่0ถึงN-1(รวม) โดยที่Nขนาดของอินพุต อินพุต รายการที่มีการเคลื่อนไหวที่จำเป็นเพื่อเรียงลำดับรายการ แต่ละค่าแสดงถึงจำนวนช่องที่แทนที่ด้วยหมายเลขเดิม (สัญญาณรบกวน) ที่จะอยู่ในตำแหน่งที่ถูกต้องโปรดทราบว่ากระบวนการนี้มาจากด้านซ้ายไปทางขวา ค่าที่ตำแหน่ง (ดัชนี 0) iในรายการอินพุตจะอยู่ระหว่าง0และiรวม คุณไม่จำเป็นต้องจัดการอินพุตที่ไม่ถูกต้องพฤติกรรมใด ๆ เป็นที่ยอมรับในกรณีนี้ (เกิดความผิดพลาดวนซ้ำไม่สิ้นสุด ฯลฯ ) เอาท์พุต รายการที่มีสัญญาณรบกวน ทีละขั้นตอนในการสร้างการเคลื่อนไหว Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
วันที่บีบอัดของสัปดาห์
กำหนดอินพุตของรายการวันในสัปดาห์เอาท์พุทการเรียงลำดับที่สั้นที่สุดของรายการ รูปแบบของการป้อนข้อมูลที่เป็นสตริงประกอบด้วยหนึ่งหรือมากกว่าของสตริงสองตัวอักษรSu(วันอาทิตย์), Mo(วันจันทร์) Tu( ฯลฯ ) We, Th, และFr Saอินพุตอาจไม่จำเป็นต้องถูกจัดเรียงตามลำดับ ในการแปลงอินพุตเป็นรูปแบบเอาต์พุต จัดเรียงอินพุตตามวันในสัปดาห์โดยเริ่มจากวันอาทิตย์ (เช่นThMoSaSuFrTuWe-> SuMoTuWeThFrSa) ลดตัวย่อลงไปหนึ่งตัวอักษรถ้ามันไม่มีใบความคลุมเครือ ตัวอย่างเช่นSuMoTuWeควรเป็นSMTWเพราะ S ตัวแรกไม่สามารถเป็นวันเสาร์ได้เนื่องจากจะทำให้เอาต์พุตไม่ได้เรียงลำดับ (เหมือนกันสำหรับ T) อย่างไรก็ตามThFrSaควรเป็นThFSเช่นวันอังคารและวันพฤหัสบดีมาก่อนวันศุกร์และลดลงเพื่อTFSสร้างความกำกวม หากเอาท์พุทเป็นตอนนี้MTWTFเอาท์พุทDแทน (ซึ่งหมายถึง "สัปดาห์วัน ") ในทำนองเดียวกันSSควรจะเป็นEสำหรับสัปดาห์สิ้นสุด ในที่สุด SMTWTFSควรกลายเป็นAสำหรับทุกวัน ทั้งอินพุตและเอาต์พุตต้องเป็นสตริงเดี่ยว เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ กรณีทดสอบ: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | …

25
Patttern ง่าย
ปัจจัยการผลิต: ตัวเลขสองหลักเดียว (เรียกว่าพวกมันmและn) และสองตัวอักษร (เรียกมันว่า) aและbในรูปแบบอินพุตที่คุณเลือก เอาท์พุท: m=2, n=5, a='a', b='b'สำหรับคำแนะนำการหลอก เอาต์พุตของคุณจะเป็นสตริงที่สร้างจากอินพุตสี่ตัวของคุณ ขอเรียกสตริงที่มีค่าresult ""ครั้งแรก concatenate aบนresult mเวลาเพื่อ concatenate aบนresult 2ครั้ง ตอนนี้เท่ากับresult aaประการที่สอง concatenate bบนresult mเวลาเพื่อ concatenate bบนresult 2ครั้ง ตอนนี้เท่ากับresult aabbสุดท้ายหากผลเป็นที่เรียบร้อยแล้วนานกว่าn, ตัดเพื่อที่จะมีความยาวresult nมิฉะนั้นต่อสลับกับmระยะเวลาในการทำงานของaและbจนกว่าจะมีความยาวresult nสุดท้ายresultมีที่ซึ่งมีความยาวaabba5 กรณีทดสอบ: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

10
เมทริกซ์จากน้อยไปมาก
"เมทริกซ์จากน้อยไปมาก" เป็นเมทริกซ์ที่ไม่มีที่สิ้นสุดของจำนวนเต็ม (รวม 0) ซึ่งองค์ประกอบใด ๆ เป็นองค์ประกอบที่มีขนาดเล็กที่สุดซึ่งไม่เคยใช้ในแถวและคอลัมน์นั้นมาก่อน: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

8
คำนวณตาราง CRC32 ในเวลารวบรวม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ดำเนินการอ้างอิงของ CRC32คำนวณตารางการค้นหาที่รันไทม์: /* Table of CRCs of all 8-bit messages. */ unsigned long crc_table[256]; /* Flag: has the table been computed? Initially false. */ int crc_table_computed = 0; /* Make the table for a fast CRC. */ void make_crc_table(void) …

6
ค้นหาค่าสัมประสิทธิ์ของฟังก์ชั่นการสร้างเหตุผล
หากเราเขียนลำดับของตัวเลขเป็นค่าสัมประสิทธิ์ของชุดพลังงานชุดพลังงานนั้นจะเรียกว่า (ธรรมดา) ฟังก์ชันสร้าง (หรือ Gf) ของลำดับนั้น นั่นคือถ้าสำหรับฟังก์ชันF(x)และชุดของจำนวนเต็มa(n)เรามี: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) จากนั้นเป็นหน้าที่ของการสร้างF(x) aตัวอย่างเช่นชุดรูปทรงเรขาคณิตบอกเราว่า: 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) ดังนั้นการสร้างฟังก์ชั่นของการมี1, 1, 1, ... 1/(1-x)หากเราแยกความแตกต่างทั้งสองข้างของสมการข้างบนและคูณด้วยxเราจะได้ความเสมอภาคต่อไปนี้: x + 2x^2 + 3x^3 + 4x^4 + ... = …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.