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

Metagolf กำลังเล่นกอล์ฟผลลัพธ์ของ metaprogram metaprogram จะสร้างโปรแกรมที่ช่วยแก้งานที่กำหนดและความยาวของผลลัพธ์นั้นจะกำหนดคะแนนของโปรแกรมต้นฉบับ

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 

7
การแสดงผลการแสดงออกหลักฐานฐาน
พื้นหลัง ในอนาคตที่เป็นไปได้บางอย่างโลกจะแปลงระบบตัวเลขของพวกเขาจากฐานสิบ (ฐาน 10 หรือb10) ไปเป็นฐานอื่น (ฐานสองb2ฐานแปดฐานb8สิบหกb16หรือแม้แต่เอกb1ในกรณีนี้เรากำลังเมา!) ดังนั้นในการเตรียมการสำหรับเหตุการณ์ที่เปลี่ยนแปลงโลกที่เป็นไปได้นี้คุณตัดสินใจที่จะพิสูจน์โปรแกรมทั้งหมดของคุณ สิ่งนี้สามารถทำได้โดยใช้เพียงเอกพจน์0และ1s ร่วมกับตัวดำเนินการเพื่อแทนที่ค่าคงที่จำนวนที่มีอยู่ อย่างไรก็ตามมีเพียงปัญหาเดียว: คุณมีโปรแกรมมากมายให้เปลี่ยนและการแปลงแต่ละตัวเลขเป็นนิพจน์จะใช้เวลาหลายสัปดาห์! ดังนั้นคุณตัดสินใจที่จะเขียนโปรแกรม (หรือฟังก์ชัน) เพื่อตัดสินใจว่านิพจน์ใดควรแทนที่แต่ละตัวเลข อินพุต อินพุตจะเป็นจำนวนเต็มบวก รหัสของคุณจะต้องสามารถจัดการกับจำนวนเต็มใด ๆ ได้สูงสุด 1,000 (หากรหัสของคุณรองรับทศนิยมและ / หรืออินพุตเชิงลบให้ดูที่การให้คะแนนด้านล่าง) เอาท์พุต รหัสของคุณจะต้องส่งออกนิพจน์ที่ประเมินไปยังอินพุตในภาษาอย่างน้อยหนึ่งภาษา นี่อาจเป็นภาษาใดก็ได้ ไม่จำเป็นต้องเป็นโปรแกรมหรือฟังก์ชั่นเดียวกับที่คุณเขียนนอกจากนี้นิพจน์นี้ไม่จำเป็นต้องเป็นโปรแกรมหรือฟังก์ชั่นแบบเต็ม เพื่อความชัดเจนเอาต์พุตอาจมีการดำเนินการใด ๆ เหล่านี้: การเพิ่ม / ลด เพิ่ม / ผลรวม ลบ / ปฏิเสธ ทวีคูณ / คู่ (เฉพาะในกรณีที่มันไม่เกี่ยวข้องโดยตรงกับจำนวน2!) หาร / โมดูโล เลขชี้กำลัง / ลอการิทึม …

5
regex ง่าย ๆ ที่สั้นที่สุดที่ตรงกับคำไบนารี
งาน กำหนดregex อย่างง่ายเป็นนิพจน์ปกติที่ไม่ว่างประกอบด้วยเพียง ตัวอักษร0และ1, การจัดกลุ่มวงเล็บ(และ), +อย่างใดอย่างหนึ่งหรือมากกว่าปริมาณการทำซ้ำ ด้วยสตริง0และ1s ที่ไม่ว่างเปล่าโปรแกรมของคุณควรค้นหา regex ที่สั้นที่สุดที่ตรงกับสตริงอินพุตแบบเต็ม (นั่นคือเมื่อจับคู่ regex ธรรมดาให้ทำท่าว่ามันถูก bookended โดย^ และ $.) หากมี regexes ที่สั้นที่สุดหลายอันให้พิมพ์ใด ๆ หรือทั้งหมด) code-golfดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) จะชนะ กรณีทดสอบ 1 -> 1 00 -> 00 or 0+ 010 -> 010 1110 -> 1+0 01010 -> 01010 0101010 -> 0(10)+ or (01)+0 011111 -> …

3
ตัวกระจายรังสีเมตาดาต้า
พื้นหลัง ในเว็บไซต์นี้บางครั้งเรามีคำถามที่ต้องการให้โปรแกรม "แข็งรังสี" ซึ่งหมายความว่าโปรแกรมจะต้องสามารถอยู่รอดในการลบหนึ่งไบต์หรือมากกว่าไม่ว่าจะลบไบต์ใด เป็นเรื่องปกติสำหรับงานที่มีการตั้งค่าความท้าทายในการเขียนโปรแกรมเป็นเรื่องปกติที่จะต้องการสร้างภาษาที่ดีต่อความท้าทายเหล่านี้โดยเฉพาะ เนื่องจากวิธีธรรมชาติในการทำเช่นนี้คือการเพิ่มข้อมูลเมตาบางส่วนที่ทำให้สามารถย้อนกลับไปสู่การคอร์รัปชั่นได้จริง ๆ แล้วไม่ใช่ภาษาที่จำเป็นต้องมีการออกแบบ แนวคิดคือการแปลงอินพุตแต่ละตัวเป็นลำดับไบต์ในลักษณะที่แม้ว่าลำดับนั้นฉายรังสีเล็กน้อยก็เป็นไปได้ที่จะแยกอินพุตต้นฉบับ งาน เขียนสองโปรแกรมหรือฟังก์ชั่น E (ตัวเข้ารหัส) และ D (ตัวถอดรหัส) เช่นนั้น: E จะใช้เวลาสองขัดแย้งลำดับของ octets (ซึ่งเราจะเรียกว่า " การป้อนข้อมูล " ในข้อกำหนดนี้) และติดลบ " รังสี " และผลลำดับของ octets ที่ " เข้ารหัส "; D รับหนึ่งอาร์กิวเมนต์ลำดับของ octets (" encdng ") และเอาต์พุตลำดับของ octets " reconstruction "; หากคุณใช้ทั้ง E และ D …

1
แปลโหมโรงเป็น Befunge
นี่คือการท้าทายประจำสัปดาห์ # 2 ธีม: การแปล เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรหัสที่มาสำหรับโปรแกรมในโหมโรงและผลสำหรับโปรแกรมเทียบเท่าในBefunge-93 สำหรับโปรแกรมที่จะเทียบเท่ามันควรสำหรับการป้อนข้อมูลที่กำหนดใด ๆ ผลิตผลลัพธ์เดียวกันกับโปรแกรมโหมโรงและหยุดถ้าหากโปรแกรมโหมโรงหยุด ภาษาที่ป้อน: โหมโรง Python interpreter: แสดงตัวอย่างโค้ด #!/usr/bin/python import sys NUMERIC_OUTPUT = True NUMERIC_INPUT = True try: filename = sys.argv[1] except: print "Usage:", sys.argv[0], "<filename>" raise SystemExit try: inFile = file(filename) except: print "Error when opening", filename raise SystemExit # code is kept …

4
คำนวณตัวเลขจริง
คำนิยาม เป็นจำนวนเต็มบวกnเป็นจำนวนปฏิบัติ (OEIS ลำดับA005153 ) IFF nทุกจำนวนเต็มบวกที่มีขนาดเล็กสามารถแสดงเป็นผลรวมของตัวหารที่แตกต่างของ ตัวอย่างเช่น18เป็นจำนวนจริง: ตัวหารคือ 1, 2, 3, 6, 9, และ 18 และจำนวนเต็มบวกอื่น ๆ ที่น้อยกว่า 18 สามารถเกิดขึ้นได้ดังนี้: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

9
เขียนนักแปล brainfuck
ในการเขียนโปรแกรมหรือภาษาสคริปต์xใด ๆให้เขียนโปรแกรมที่ใช้แหล่งข้อมูล brainfuck ที่ถูกต้องจาก stdin และเอาต์พุตไปยัง stdout ซอร์สโค้ดของโปรแกรมที่เขียนด้วยภาษาxซึ่งจะให้ผลลัพธ์เหมือนกับโปรแกรม brainfuck ที่แน่นอน โปรแกรมของคุณต้องทำงานกับโปรแกรม brainfuck ที่ถูกต้องรวมถึงไฟล์เปล่า คะแนนของคุณจะเท่ากับจำนวนไบต์ของซอร์สโค้ดของคุณบวกกับจำนวนไบต์ของเอาต์พุตของคุณตามอินพุตต่อไปนี้: +++++ [-] +++++ +++++ [ > +++++ ++ > ++ +++ ++++ + > +++ <<< - ] > ++ . H > + . e ++ +++ ++. l . l +++ . o > …

1
Metagolf การคูณ Brainflak
คำถามนี้เป็นความท้าทายครั้งแรกของ Brain-Flak Birthday ที่ออกแบบมาเพื่อฉลองวันเกิดครั้งแรกของ Brain-Flak! คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับวันเกิดของ Brain-Flak ได้ที่นี่ ฤดูร้อนครั้งที่แล้วเรามีBrain-flak Integer Metagolfและคำตอบที่สร้างขึ้นมีประโยชน์มากต่อชุมชน Brain-Flak ตั้งแต่นั้นมา สิ่งสำคัญที่ทำให้ Integer Metagolf มีประสิทธิภาพนั้นเป็นเทคนิคที่เรียกว่าการเข้ารหัสแบบการคูณ ในการคูณรันไทม์ Brain-Flak มีราคาแพงมาก ตัวอย่างการคูณที่รู้จักกันสั้นที่สุดคือ: ({}<>)({<({}[()])><>({})<>}{}<><{}>) ค้นพบโดยMegatom อย่างไรก็ตามมีวิธีง่าย ๆ ในการสร้างการคูณเวลาคอมไพล์ ตัวอย่างเช่นรหัสต่อไปนี้จะคูณด้วย 5: (({})({})({})({}){}) ลองออนไลน์! วิธีนี้ใช้งานได้เนื่องจากนิพจน์ที่ต่อเนื่องกันถูกรวมเข้าด้วยกัน แต่ละคน({})ไม่ทำอะไรเลยกับสแต็ก ( {}จะปรากฏขึ้นแล้ว(..)ดันกลับไปด้านหลัง) และประเมินว่าอะไรก็ตามที่อยู่ด้านบนสุดของสแต็ก นิพจน์เหล่านี้ทั้งหมดรวมกันได้มากถึงห้าเท่าสิ่งที่อยู่ด้านบนสุดของสแต็ก สำหรับnนิพจน์สตริงต่อไปนี้จะสร้างตัวอย่างที่จะคูณด้านบนของสแต็กด้วยn: "("+"({})"*(n-1)+"{})" สิ่งนี้ทำงานโดยการnแสดงออกที่ประเมินทั้งหมดไปด้านบนของสแต็ค อันแรกn-1ไม่ได้เปลี่ยนแปลงอะไรเลยและอันสุดท้ายจะเอาส่วนบนสุดของสแต็กออกมาก่อนกด สำหรับหมายเลขคอมโพสิตคุณสามารถโยงนิพจน์ขนาดเล็กหลาย ๆ ตัวเข้าด้วยกันเพื่อบันทึกไบต์ ตัวอย่างเช่นคุณสามารถคูณ 25 ด้วยการคูณด้วย 5 สองครั้ง: (({})({})({})({}){})(({})({})({})({}){}) มันค่อนข้างง่ายและสำหรับตัวเลขบางตัวก็ใช้งานได้ดี …

4
จำนวนเต็ม Metagolf จริง ๆ
พื้นหลัง ที่จริงแล้ว (ตัวตายตัวแทนอย่างจริงจัง ) เป็นภาษากอล์ฟบังคับตามสแต็คที่ฉันสร้างขึ้นในเดือนพฤศจิกายนปี 2015 เช่นเดียวกับภาษากอล์ฟอื่น ๆ อีกมากมายมันมีคำสั่งขนาดหนึ่งไบต์ที่ทำหน้าที่แตกต่างกันตามเนื้อหาของสแต็ค หนึ่งในความเชี่ยวชาญของมันคือวิชาคณิตศาสตร์ - มันมีคำสั่งพื้นฐานทางคณิตศาสตร์ที่หลากหลาย อย่างไรก็ตามในการดำเนินการทางคณิตศาสตร์คุณต้องใส่หมายเลข (หนึ่งหรือมากกว่า) ลงบนสแต็ก การกดค่าเฉพาะในจำนวนน้อยที่สุดเท่าที่จะทำได้เป็นเรื่องยุ่งยากเพราะมีตัวเลือกต่าง ๆ มากมาย ในการท้าทายนี้คุณจะทำสิ่งนั้นอย่างแน่นอน: แสดงตัวเลข (โดยเฉพาะจำนวนเต็ม) ในความเป็นจริงในจำนวนไบต์น้อยที่สุด ความท้าทาย กำหนดจำนวนเต็มNเป็นอินพุตเอาต์พุตโค้ดที่ถูกต้องจริงซึ่งส่งผลNให้ถูกส่งไปยังสแต็ก อินพุตจะอยู่ในช่วงของจำนวนเต็มเสริมของ 32 บิตที่เซ็นชื่อสองบิต (เช่นจำนวนเต็มในช่วงรวม[-2147483648, 2147483647]) ผลลัพธ์ต้องเป็นจำนวนเต็ม (ไม่ใช่แบบลอยสตริงรายการหรือฟังก์ชัน) และต้องอยู่ด้านบนสุดของสแต็ก คุณไม่สามารถทำการสันนิษฐานเกี่ยวกับเนื้อหาของสแต็ค (เช่นว่าว่างเปล่าหรือไม่) ค่าที่มีอยู่ใด ๆ บนสแต็กต้องไม่ถูกแก้ไขหรือจัดเรียงใหม่ ความมุ่งมั่นล่าสุดของจริงในขณะที่ฉันกำลังเขียนความท้าทายนี้จะถูกนำมาใช้ ถ้าฉันแก้ไขข้อบกพร่องหรือปรับปรุงประสิทธิภาพ (หรือการเปลี่ยนแปลงเล็กน้อยอื่น ๆ ที่ไม่ได้ลบหรือเปลี่ยนการทำงานของคำสั่งที่อนุญาต) ฉันจะอัปเดตเวอร์ชันนี้ โซลูชันของคุณจะต้องทำอย่างน้อยที่สุดเช่นเดียวกับวิธีแก้ปัญหาเล็กน้อย (ผนวก:กับอินพุตเพื่อสร้างตัวอักษรตัวเลข) คะแนนของคุณจะเป็นผลรวมของความยาวของโซลูชันเล็ก ๆ น้อย ๆ ลบด้วยผลรวมของความยาวของผลลัพธ์สำหรับการเลือกจำนวนเต็ม …

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 -> outputได้รับในรูปแบบ โปรดทราบว่าอาจมีเอาต์พุตอื่นที่ยอมรับได้ a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> …
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 

1
Regex กำลังตรวจสอบความถูกต้องของ regex [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา สร้าง regex ที่จะยอมรับสตริง regex เป็นอินพุตและตรวจสอบว่ามันถูกต้อง โดยทั่วไป regex ของคุณควรจะสามารถตรวจสอบตัวเอง (ไม่ควรตรวจสอบ regex ที่ไม่ถูกต้องดังนั้นคุณจึงไม่สามารถใช้.*;) รสชาติของคุณจะต้องได้รับการสนับสนุนอย่างเต็มที่จากการใช้งานที่รู้จักกันดี (Perl, sed, grep, gawk, ฯลฯ ) และต้องสนับสนุนอย่างเต็มที่ว่าการใช้งานเหล่านั้นรองรับอะไรบ้าง [ไม่ต้องกังวลกับทนายพูด ฉันแค่พยายามลบช่องว่างที่เป็นไปได้สำหรับสมาร์ท ***] ฉันเขียนโค้ดกอล์ฟแต่ฉันกังวลว่ามันจะให้ความรู้แก่ผู้ที่รู้จักและใช้รสชาติที่ไม่มีคุณสมบัติ หรือความกังวลของฉันไม่มีมูลความจริง?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

2
การบีบอัดสูตรบูลีน
วากยสัมพันธ์ ~ไม่ /\และ \/หรือ tจริง fเท็จ P, Q, FISHฯลฯ : ตัวแปร (ผู้ประกอบการจะได้รับตามลำดับความสำคัญ) บทนำ บางสูตรบูลีนสามารถเปลี่ยนเป็นรูปแบบที่แตกต่างกันเพื่อให้สั้นลง ตัวอย่างเช่นสูตร ~(~P /\ ~Q) สามารถเปลี่ยนเป็นแบบสั้น P\/Q ในขณะที่สูตร P \/ ~P สามารถเปลี่ยนเป็นแบบสั้น t ท้าทาย ในความท้าทายนี้คุณจะต้องเขียนโปรแกรมที่ได้รับสูตรบูลใด ๆ โดยใช้เพียง/\, \/, ~, t, fวงเล็บตัวแปรบูลีน (ตัวพิมพ์ใหญ่) และช่องว่างเอาท์พุทเป็นรูปแบบที่สั้นที่สุด (เนื่องจากอาจมีมากกว่าหนึ่งรูปแบบที่สั้นที่สุด ) ในลักษณะของนิพจน์นั้นซึ่งเทียบเท่ากับการกำหนดตัวแปรทั้งหมด รหัสที่สั้นที่สุด (ในภาษาใด ๆ ) ชนะ I / O สามารถทำได้ในลักษณะที่สมเหตุสมผล นอกจากนี้เนื่องจากคำตอบนั้นยากต่อการตรวจสอบจึงเป็นประโยชน์ (แต่ไม่จำเป็น) …

1
Hopping Bunny ของ Google
เมื่อวันที่ 4 ธันวาคม 2017 ของ Google Doodle เป็นเกมการเขียนโปรแกรมแบบกราฟิกที่มีกระต่าย ระดับต่อมาได้อย่างไม่น่ารำคาญและพวกเขาดูเหมือนจะเป็นผู้สมัครที่ดีสำหรับอะตอมกอล์ฟที่ท้าทาย รายละเอียด เกม มีการเคลื่อนไหวสี่อย่าง: กระโดดไปข้างหน้าเลี้ยวซ้ายเลี้ยวขวาและวนรอบ แต่ละการเคลื่อนไหวเหล่านี้เป็นโทเค็นเดียวซึ่งสอดคล้องกับความจริงที่ว่าพวกเขาเป็นหนึ่งไทล์ในเกม กระต่ายสามารถเผชิญหน้ากับทิศทางทั้งสี่ทิศ (เช่นทิศเหนือทิศใต้ทิศตะวันออกทิศตะวันตก) กระต่ายสามารถกระโดดไปข้างหน้า (เลื่อนไปหนึ่งช่องในทิศทางที่หันหน้าไป) แล้วเลี้ยวซ้ายหรือขวา ลูปอาจมีจำนวนของการเคลื่อนไหวอื่น ๆ ภายในพวกเขารวมถึงลูปอื่น ๆ และจำนวนการวนซ้ำของพวกเขาคือจำนวนเต็มบวกใด ๆ กระดานเป็นชุดของตารางที่จัดชิดตารางและกระต่ายสามารถกระโดดระหว่างสี่เหลี่ยมที่อยู่ติดกัน กระต่ายไม่สามารถกระโดดเข้าไปในความว่างเปล่าได้ หมายความว่าการพยายามกระโดดออกจากกระดานไม่ได้ทำอะไรเลย (นี่เป็นเรื่องน่าประหลาดใจสำหรับบางคนและทำให้คนอื่นผิดหวัง) สี่เหลี่ยมจะถูกทำเครื่องหมายหรือไม่ทำเครื่องหมาย เมื่อกระต่ายอยู่ในรูปสี่เหลี่ยมมันจะถูกทำเครื่องหมาย ระดับเสร็จสมบูรณ์เมื่อทำเครื่องหมายสี่เหลี่ยมทั้งหมด คุณอาจคิดว่ามีวิธีแก้ปัญหาอยู่ รหัสของคุณ วัตถุประสงค์: ให้คณะกรรมการค้นหาวิธีแก้ปัญหาที่สั้นที่สุดหนึ่งรายการหรือมากกว่า การป้อนข้อมูลเป็นรายการของสแควร์ที่ตั้งคณะกรรมการ (แยกความแตกต่างสี่เหลี่ยมที่ทำเครื่องหมายและไม่ได้ทำเครื่องหมาย) และเอาท์พุทเป็นรายการของการเคลื่อนไหว รูปแบบอินพุตและเอาต์พุตไม่สำคัญเลยตราบใดที่รูปแบบที่มนุษย์สามารถอ่านและเข้าใจได้ เกณฑ์การชนะ:ผลรวมของจำนวนการเคลื่อนไหวของการแก้ปัญหาที่สั้นที่สุดที่พบภายในหนึ่งนาทีสำหรับแต่ละกระดาน หากโปรแกรมของคุณไม่พบวิธีแก้ปัญหาสำหรับบอร์ดใด ๆ คะแนนของคุณสำหรับบอร์ดนั้นคือ (5 * จำนวนสี่เหลี่ยม) โปรดอย่าแก้ไขปัญหาฮาร์ดโค้ดในลักษณะใด ๆ รหัสของคุณควรจะนำบอร์ดใด …

1
เขียนตัวแก้ความซับซ้อนของ Kolmogorov
ซับซ้อน KolmogorovของสตริงSคือความยาวของโปรแกรมสั้นPเขียนในบางภาษาโปรแกรมLที่มีการส่งออกเป็นสิ่งS (ใช่คำจำกัดความที่แท้จริงนั้นเป็นทางการมากกว่า แต่จะเพียงพอสำหรับความท้าทาย) งานของคุณในความท้าทายนี้คือการเขียนที่เป็นไปได้ "Kolmogorov ซับซ้อนแก้" ที่สั้นที่สุดที่เป็นโปรแกรมที่เขียนในLตัวเองที่ใช้เวลาในสตริงSและผลตอบแทนที่สั้นที่สุดPเขียนในLที่เอาท์พุทS วิธีไร้เดียงสาที่จะนี้คือการย้ำกว่าทุกความยาว 1 โปรแกรมแล้วทั้งหมดยาว 2 โปรแกรมแล้วทั้งหมดความยาว 3 โปรแกรมและอื่น ๆ ทำงานแต่ละของพวกเขาและการวัดการส่งออกจนกว่าโปรแกรมที่เอาท์พุทSพบ ปัญหาของวิธีนี้คือโปรแกรมบางตัวอาจไม่หยุดทำงานซึ่งหมายความว่าตัวแก้ปัญหาอาจไม่หยุดทำงาน และเนื่องจากปัญหาการหยุดทำงานไม่มีวิธีที่แน่นอนในการหลีกเลี่ยงโปรแกรมที่ไม่หยุด เรียบง่าย แต่วิธีการแก้ปัญหาที่ไม่สมบูรณ์คือการใส่เวลาที่ จำกัด ในเวลาดำเนินการของแต่ละศักยภาพP 's โปรแกรมที่ไม่ได้หยุดชะงักในเวลาอาจถูกส่งผ่าน แต่ตัวแก้ปัญหาจะหยุดแน่นอน (สมมติว่าโปรแกรมในLสามารถส่งออกSภายในเวลาที่กำหนด) ท้าทาย เขียนตัวแก้ปัญหาของคุณเป็นโปรแกรมหรือฟังก์ชั่นที่มีสามสิ่ง: สตริงS เลขจำนวนเต็มบวกTนั่นคือการ จำกัด เวลาในหน่วยวินาทีหรือบางช่วงเวลาที่เล็กลง (เช่นมิลลิวินาที) สตริงAของตัวอักษรของอักขระที่ใช้สำหรับP 'ที่มีศักยภาพ และผลที่สั้นที่สุดPที่มีเพียงตัวละครในวิ่งในเวลาน้อยกว่าTหน่วยเวลาและเอาท์พุทS นี่คือ pseudocode ทั่วไป: Function KolmogorovComplexitySolver(S, T, A): Assign N to 0 Loop until …

5
แสดงฟังก์ชั่นบูลีนทั้ง 16 รายการด้วยตัวดำเนินการที่น้อยกว่า
มีฟังก์ชั่นบูลีน 16 แบบสำหรับตัวแปรไบนารีสองแบบคือ A และ B: A B | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | F14 | F15 ----------------------------------------------------------------------------------------- 0 0 | 0 | 0 | 0 | …

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