การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

18
Copodope Gopolopfop
ภาษา: การต่อต้าน ภาษาตลกที่จะพูดถูกสร้างขึ้นโดยใช้กระบวนการต่อไปนี้กับแต่ละคำ: วางopตามพยัญชนะแต่ละตัว ดังนั้นจะกลายเป็นCodeCopodope ใช่แค่นั้นแหละ สำหรับจุดประสงค์ของการท้าทายyนี้เป็นพยัญชนะเสมอ The Challenge: การคัดค้าน ให้คำที่เป็นปฏิปักษ์คืนคำเดิม ข้อมูลที่ป้อนจะประกอบด้วยตัวอักษรเท่านั้น อักษรตัวแรกอาจเป็นตัวพิมพ์ใหญ่ คำเดิมจะไม่ว่างเปล่าและมักจะมีสระ กรณีทดสอบ: Oppified -> Original a a I I itop it opop op Opop Op popopop pop Copopop Cop opopopop opop Kopicopkop Kick Asopia Asia soptopopop stop hopoopopsop hoops hopoopopedop hooped ooooohop oooooh aaaopopaaa aaaopaaa Popopopsopicoplope Popsicle …

24
ต่อท้ายตัวเลข
ความท้าทายที่ค่อนข้างง่าย: คุณจะได้รับสองอินพุตสตริงและตัวเลข (ตัวเลขอาจถูกใช้เป็นสตริงเช่น"123"แทน123) หากสตริงไม่ได้ลงท้ายด้วยตัวเลข (กล่าวคือสตริงนั้นไม่ตรงกับ regex \d$) เพียงแค่ต่อท้ายหมายเลขนั้นต่อท้ายสตริง หากสตริงนั้นลงท้ายด้วยตัวเลข (เช่นมันจะตรงกับ regex \d+$) คุณควรลบมันก่อนแล้วจึงต่อท้ายหมายเลข ทั้งอินพุตจะไม่ถูกต้องหรือว่างเปล่า (ไม่ถูกต้องถูกกำหนดโดยอินพุตตัวเลขที่ไม่มีตัวเลขเท่านั้น) จำนวนจะไม่เคยมีหรือ-. สตริงจะไม่ขึ้นบรรทัดใหม่หรือไม่สามารถพิมพ์อักขระที่ไม่ใช่ช่องว่างได้ กรณีทดสอบ: abc123 + 345 -> abc345 123 + 1 -> 1 hello + 33 -> hello33 123abc123 + 0 -> 123abc0 ab3d5 + 55 -> ab3d55 onetwo3 + 3 -> onetwo3 99ninenine + …
15 code-golf  string 

11
ตีความรหัส + p
แรงบันดาลใจจากความนิยมล่าสุดในภาษาตัวละครอีกสองภาษา ;# Intro ตามมติของชุมชนคำตอบที่ยอมรับได้ในเว็บไซต์นี้ต้องใช้ภาษาโปรแกรมอย่างน้อยที่สุด: สามารถระบุได้ว่าจำนวนธรรมชาติเป็นจำนวนเฉพาะหรือไม่ สามารถบวกสองจำนวนธรรมชาติเข้าด้วยกัน สามารถแสดงรายการ / tuple ของตัวเลขเช่นเดียวกับตัวเลขเดียว สำหรับจุดประสงค์ของการท้าทายนี้เราจะเพิกเฉย # 3 ดังนั้นภาษาที่ง่ายที่สุดที่สามารถนำมาใช้ในเว็บไซต์นี้ (ไม่สนใจ # 3) จะได้ว่าสองคำสั่งและisPrime addเพื่อความสะดวกในการตีความและการนับไบต์ให้กำหนดของisPrimeการpและการadd ดังนั้นเรามีภาษาของเรา+ +pความท้าทายของคุณคือการตีความ+pรหัสบางอย่าง พฤติกรรม +การaddเรียนการสอนใช้ตัวเลขสองตัวเพิ่มและส่งออกผลลัพธ์ pการisPrimeเรียนการสอนใช้ตัวเลขจำนวนเดียวและเอาท์พุท1ถ้ามันเป็นนายกและ0ถ้ามันไม่ได้ กฎระเบียบ คุณต้องเขียนโปรแกรม / ฟังก์ชั่นซึ่งให้สตริงของอักขระตีความสตริงนั้นเป็น+pรหัส คุณอาจสมมติว่าอินพุตที่มีรูปแบบถูกต้อง (เฉพาะ+และpตัวอักษร) อินพุตมีความยืดหยุ่น คุณอาจใช้โปรแกรมเป็นสตริงอักขระอาร์เรย์อาร์เรย์จำนวนเต็มของ codepoints ฯลฯ อินพุตสำหรับโปรแกรมที่กำลังตีความนั้นมีความยืดหยุ่นเช่นกัน คุณอาจใช้อาร์เรย์จำนวนเต็มและใช้รายการมากขึ้นในขณะที่โปรแกรมดำเนินการหรือแต่ละคำสั่ง ( +และp) อาจขออินพุตเป็นรายบุคคล คุณอาจคิดว่าจะมีอินพุตเพียงพอสำหรับทุกคำสั่ง อินพุตรับประกันว่าจะประกอบด้วยตัวเลขระหว่าง 0 ถึง 200 (แต่อัลกอริทึมของคุณควรทำงานในเชิงทฤษฎีสำหรับอินพุตจำนวนเต็มบวกใด ๆ ) ผลผลิตยังมีความยืดหยุ่น คุณสามารถพิมพ์ผลลัพธ์ส่งคืนเป็นรายการส่งคืนสตริงที่มีผลลัพธ์ทั้งหมด ฯลฯ …

16
พิมพ์ข้อความที่มองไม่เห็นจริง
ความท้าทายก่อนหน้าของฉันพิมพ์ข้อความที่มองไม่เห็นค่อนข้างเป็นที่นิยมน่าจะเป็นเพราะมันเป็นเรื่องเล็กน้อย อย่างไรก็ตามผู้สังเกตการณ์คนอื่น ๆ ของคุณอาจสังเกตเห็นว่าคุณไม่ได้พิมพ์ข้อความที่มองไม่เห็นเพราะคุณไม่สามารถอ่านสิ่งที่ป้อนให้เฉพาะผลลัพธ์ ดังนั้นฉันจึงคิดว่าเกี่ยวกับความท้าทายข้อความที่มองไม่เห็นจริง รับสตริงที่ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น ( 0x20-0x7E) แปลงอักขระแต่ละตัวเป็นอักขระ Unicode ที่แตกต่างกัน (ในการเข้ารหัส UTF-8) ที่ไม่ใช่หนึ่งใน 95 อักขระ ASCII ที่พิมพ์ได้ (อักขระ UTF-8 ใด ๆ ที่อยู่นอก0x20-0x7Eช่วง) อินพุต สตริงของอักขระ ASCII ที่พิมพ์ได้ไม่ว่าจะเป็นสตริงหรืออาร์เรย์ / รายการอักขระ เอาท์พุต สตริงอินพุตที่มีอักขระแต่ละตัวถูกแทนที่ด้วยอักขระที่ไม่สามารถพิมพ์ได้ที่แตกต่างกัน อักขระที่กำหนดแต่ละตัวต้องมีอักขระที่ไม่สามารถพิมพ์ได้ที่สอดคล้องกันซึ่งไม่ได้ใช้แทนอักขระอื่นใด หากคุณไม่สามารถพิมพ์อักขระที่ไม่สามารถพิมพ์ได้คุณสามารถส่งออกค่าอักขระแทน ตัวอย่างเช่นถ้ารหัสของคุณแทนที่ตัวพิมพ์เล็กทั้งหมดa'S กับ0x01คุณไม่สามารถใช้0x01ทดแทนสำหรับตัวละครอื่น ๆ รหัสของคุณจะต้องกำหนดไว้ล่วงหน้า ซึ่งหมายความว่าถ้าให้สตริงHelloตัวพิมพ์เล็กทั้งหมดlจะถูกแทนที่ด้วย0x03รหัสของคุณจะต้องแทนที่ด้วยตัวพิมพ์เล็กทั้งหมดlด้วย0x03สตริงอื่น ๆ Testcases มันค่อนข้างยากที่จะเขียน testcase สำหรับความท้าทายนี้ดังนั้นฉันจะแสดงผลลัพธ์เป็นรายการของ hexcodes input -> output "Hello" …

30
สร้างโปรแกรม Parrot
รับอินพุต, เอาต์พุตที่อินพุตตามด้วย newline ไม่รู้จบ ข้อมูลที่ป้อนจะเป็นสตริงที่ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ ( 0x20-0x7E) และบรรทัดใหม่ ( 0x0A) หากอินพุตมีความยาว 0 ให้ส่งบรรทัดใหม่อย่างไม่สิ้นสุด นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!
15 code-golf  string  sequence  combinatorics  fastest-code  number  code-challenge  restricted-source  rosetta-stone  code-golf  arithmetic  decision-problem  integer  factorial  code-golf  arithmetic  decision-problem  integer  bitwise  code-golf  kolmogorov-complexity  code-golf  tips  vim  code-golf  quine  code-generation  code-golf  string  restricted-source  code-golf  string  random  unicode  code-golf  audio  code-golf  ascii-art  code-golf  decision-problem  code-golf  puzzle-solver  code-golf  restricted-source  code-golf  kolmogorov-complexity  permutations  hexagonal-grid  code-golf  string  math  combinatorics  fastest-code  code-golf  restricted-source  code-golf  string  code-golf  arithmetic  code-golf  math  number  code-golf  string  decision-problem  balanced-string  code-golf  binary  code-golf  string  number  code-challenge  restricted-source  code-golf  ascii-art  printable-ascii  interactive  code-golf  string  ascii-art  code-challenge  restricted-source  source-layout  code-golf  arithmetic  tips  functional-programming  golfing-language  code-golf  binary  encryption 

2
ฉันกำลังก้าวล้ำโดยเดนนิสหรือไม่?
ตามตำนาน , เกือบทุกคนจะ outgolfed โดยเดนนิส ถ้าไม่พวกเขาจะเป็น ตอนนี้ฉันอยากรู้อยากเห็นถ้าฉันเป็นหนึ่งใน 'เกือบทุกคน' /codegolf/[QUESTION ID]/[QUESTION NAME]/#[ANSWER ID]คุณจะได้รับการเชื่อมโยงไปคำตอบในรูปแบบของ ค้นหาความยาวของโค้ดซึ่งเราจะถือว่าเป็นตัวเลขสุดท้ายของบรรทัดแรก (markdown wise) ของคำตอบในลิงค์ จากนั้นค้นหาคำตอบของเดนนิสแล้วทำเช่นเดียวกัน ตอนนี้เปรียบเทียบความยาวของรหัสคำตอบของอินพุตและเดนนิสและถ้ามันอยู่นอกสนามกอล์ฟ (หมายถึงคำตอบหนึ่งคำหรือมากกว่าของเดนนิสสั้นกว่าคำตอบอินพุต) ให้ส่งค่าความจริงออกมาและหากไม่ใช่ค่าเท็จ หากไม่มีคำตอบของเดนนิสในคำถามเดียวกันกับคำตอบให้ส่งออกค่าเท็จ ตัวอย่าง ลิงค์ :true ลิงก์ : false(อย่างน้อยตอนนี้บอกฉันเมื่อมันเปลี่ยน) กฎระเบียบ คุณสามารถใช้รูปแบบของค่าความจริง / เท็จใด ๆ คำถามคำตอบที่คุณได้รับจะเป็นรหัสกอล์ฟ คำถามอาจไม่มีคำตอบของเดนนิส แต่คำตอบที่ป้อนจะไม่เป็นของเดนนิส คุณอาจคิดว่ามีตัวเลขอยู่เสมอในบรรทัดแรกของคำตอบ

20
อบเค้กให้ฉัน!
นี่คือเค้ก: _========_ | | +________+ | | +________+ | | +________+ มันกว้าง 8 สูง 3 สูงและลึก 1 คุณต้องเขียนโปรแกรมที่ทำเค้กจาก 3 อินพุต อินพุตแรกควบคุมจำนวนขีดล่างที่มีอยู่ตรงกลางและ=s ด้านบน นี่เป็นเค้กชิ้นแรกที่มีความกว้าง 10 แทนที่จะเป็น 8: _==========_ | | +__________+ | | +__________+ | | +__________+ อินพุตที่สองควบคุมความสูงของเค้ก นี่คือเค้กชิ้นที่สองที่มีความสูง 4 แทนที่จะเป็น 3: _==========_ | | +__________+ | | +__________+ | | …

10
แยกฉันครึ่ง
คุณจะได้รับจำนวนที่x0 <= x <= 2^32 - 1 คุณควรแสดงรายการตัวเลขเป็นทศนิยมหลังจากแยกแบบเรียกซ้ำในรูปแบบไบนารี ตัวอย่าง: ตัวอย่างที่ 1: 255 -> 255 15 15 3 3 3 3 1 1 1 1 1 1 1 1 255รายการปัจจุบันเป็นเพียง ฐานเป็นตัวแทนของการมี255 1111 1111แยกมันเราได้รับ1111และ1111ซึ่งในทศนิยมเป็นและ1515 255 15 15เราได้เพิ่มเหล่านั้นไปยังรายการดังนั้นเราจะต้อง ตอนนี้ตัวเลข15และ15จะทำหน้าที่เป็นอินพุตและตัวเลขเหล่านี้จะถูกแยกออก ทำมันอีกครั้งที่เราได้รับ ( 3 3จากทั้งs):15255 15 15 3 3 3 3 255 15 15 3 …

8
แยกตัวเลขออกเป็นสามเหลี่ยม
รับจำนวนเต็มn , แยกย่อยเป็นผลรวมของตัวเลขสามเหลี่ยมสูงสุด (โดยที่T mหมายถึงตัวเลขสามเหลี่ยมที่สามmหรือผลรวมของจำนวนเต็มจาก 1 ถึงm ) ดังนี้: ในขณะที่n> 0 , พบที่ใหญ่ที่สุดที่เป็นไปได้จำนวนสามเหลี่ยมT เมตรเช่นที่T เมตร ≤ n ผนวกเมตรเพื่อเป็นตัวแทนสามเหลี่ยมการสลายตัวของn ลบT เมตรจากn ตัวอย่างเช่นอินพุต44จะให้ผลลัพธ์ของ8311เนื่องจาก: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 <44 แต่ 1 + 2 + 3 + 4 + 5 + …

1
วิธีการใช้รหัส - นักกอล์ฟในการค้นหาไลบรารี
ท้าทาย: ฉันมีเพลงหลายพันเพลงในคอลเลกชันเพลงของฉันและโชคดีสำหรับฉันผู้เล่นที่ชื่นชอบมีฟังก์ชั่นการค้นหา ฉันยังมีความทรงจำที่ยอดเยี่ยม - ฉันจำชื่อเพลงทุกเพลงในคอลเลคชั่นของฉันได้ อย่างไรก็ตามฉันขี้เกียจมากและไม่ชอบที่จะพิมพ์ - การกดแป้นพิเศษแต่ละครั้งเป็นงานที่น่าเบื่อ! สตริงที่สั้นที่สุดที่ฉันต้องค้นหาคือแยกหนึ่งเพลงคืออะไร ช่วยฉันจำรายการคีย์ที่ฉันสามารถใช้เพื่อลดการพิมพ์เมื่อค้นหา! นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ กฎ: กำหนดรายการอินพุตของชื่อเพลงสร้างรายการคีย์ค้นหาภายใต้ข้อ จำกัด ต่อไปนี้: ชื่อเพลงแต่ละชื่อควรมีคีย์ค้นหา จำนวนอักขระทั้งหมดในรายการผลลัพธ์ต้องน้อยที่สุดเท่าที่จะทำได้ เครื่องเล่นเพลงที่ฉันชอบคือfoobar2000 : ฟังก์ชันการค้นหาไม่คำนึงถึงขนาดตัวพิมพ์ ( appleเหมือนกับaPpLE) แต่ละคีย์การค้นหาจะต้องประกอบด้วย "คำ" อย่างน้อยหนึ่งคำตามลำดับใด ๆ คั่นด้วยช่องว่าง: แต่ละคำจะต้องเป็นสตริงย่อยของชื่อเพลงที่เกี่ยวข้อง หากมีการระบุซับสตริงเดียวกันหลายครั้งจะต้องเกิดขึ้นหลายครั้งในชื่อเพลงที่เกี่ยวข้อง หากสตริงย่อยมีช่องว่างสตริงย่อยนั้นจะต้องล้อมรอบด้วยเครื่องหมายคำพูด คำแนะนำ: บ่อยครั้งสำหรับชื่อเพลงบางเพลงมีกฎการประชุมหลายคีย์การประชุม 2 ในกรณีเช่นนี้คีย์ใดคีย์หนึ่งจะทำ แต่คุณจะได้รับคะแนนบราวนี่เพื่อแสดงรายการทั้งหมด คุณอาจคิดว่ารายการอินพุตจะเป็นอักขระ ASCII เท่านั้น แต่คะแนนบราวนี่จะได้รับรางวัลสำหรับความเข้ากันได้ UTF-8 กฎ 3 ยากต่อการติดตามหรือไม่ นี่คือวิธีการทำงาน: แสดงตัวอย่างรหัส +----------------------+ +--------+ +----------------+ …

13
พิมพ์ควินที่มีอินพุต
งาน คุณจะได้รับสตริงในการป้อนข้อมูลประกอบเพียงตัวละครจากที่aไปzเช่นการป้อนข้อมูลจะตรงกับ /^[a-z]*$/regex ผลลัพธ์ของคุณควรเป็นโปรแกรมที่สมบูรณ์ในภาษาเดียวกันซึ่งมีรหัสแหล่งที่มาประกอบด้วยอินพุตและเป็นควินที่เหมาะสม ตัวอย่าง โปรแกรมของคุณจะได้รับอินพุตabcและเอาต์พุต: ...abc... ข้างต้นควรเป็นโปรแกรมที่สมบูรณ์ในภาษาเดียวกันซึ่งไม่มีการป้อนข้อมูลและเอาท์พุท: ...abc... นั่นคือมันส่งออกตัวเอง เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ อ้างอิง สิ่งที่ถือว่าเป็นควินที่เหมาะสม?
15 code-golf  quine 

30
หยุดชั่วคราวนานเป็นสองเท่า
ความท้าทายของคุณคือการพิมพ์อินพุตรอเวลาใด ๆ พิมพ์อินพุตรอสองครั้งที่คุณรอครั้งแรกพิมพ์อินพุตอีกครั้งและอื่น ๆ ความล่าช้าเริ่มต้นจะต้องน้อยกว่า 1 ชั่วโมงและคุณจะต้องมีความแม่นยำ +/- 5% ในความล่าช้าครั้งต่อไป นอกจากนั้นไม่มีข้อ จำกัด เกี่ยวกับเวลาหน่วง ตัวอย่าง: อินพุต: hi. เอาต์พุต: hi(หยุดชั่วคราว 1 มิลลิวินาที) hi(หยุดชั่วคราว 2 มิลลิวินาที) (หยุดชั่วคราว 4 มิลลิวินาที) hi(หยุดชั่วคราวhi8 มิลลิวินาที) (หยุดชั่วคราว 16 มิลลิวินาทีhi) เป็นต้น อนุญาตด้วย: hi(หยุด 1 นาที) hi( หยุด2 นาที) hi( หยุดชั่วคราว4 นาที) hi(หยุดชั่วคราว 8 นาที) hi(หยุดชั่วคราว 16 นาที) เป็นต้น ต้องระบุอินพุตที่จุดเริ่มต้นของโปรแกรม …
15 code-golf  string  date 


10
เคล็ดลับการเล่นกอล์ฟใน Charcoal
Charcoalเป็นภาษาที่สร้างโดย ASCII เท่านั้นและ DLosc ที่เชี่ยวชาญในการท้าทายงานศิลปะ ASCII คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟใน Charcoal? เห็นได้ชัดว่าฉันกำลังมองหาเคล็ดลับที่เกี่ยวข้องกับ Charcoal โดยเฉพาะอย่างยิ่งไม่ใช่สิ่งที่สามารถนำไปใช้กับภาษาส่วนใหญ่ - ถ้าไม่ใช่ทุกภาษา
15 code-golf  tips 

6
จำลองคีย์บอร์ดของฉัน
ฉันมีปัญหากับแป้นพิมพ์ (น่าจะมีปัญหากับเบราว์เซอร์ของฉัน) บางครั้งเมื่อฉันคลิกที่ช่องข้อความใหม่และเริ่มพิมพ์ข้อความทั้งหมดของฉันจะออกมาด้านหลัง หลังจากเวลาสั้น ๆ (สำหรับจุดประสงค์ของการท้าทายเราจะบอกว่ามันคือ 10 มิลลิวินาที) มันจะทำการพิมพ์ต่อไปอีกครั้ง ดูเหมือนว่าในตอนแรกเคอร์เซอร์ของฉันจะไม่เคลื่อนไหวเมื่อฉันเริ่มพิมพ์ดังนั้นตัวอักษรทั้งหมดจะถูกแทรกที่จุดเริ่มต้นของฟิลด์ข้อความ ตัวอย่างเช่นถ้าฉันพิมพ์pythonและฉันพิมพ์pytใน 10 มิลลิวินาทีแรกผลลัพธ์จะเป็น hontyp งาน งานของคุณคือการจำลองพฤติกรรมนี้ในไม่กี่ไบต์เท่าที่จะทำได้ อินพุต คุณสามารถป้อนข้อมูลด้วยวิธีการที่สมเหตุสมผล อย่างไรก็ตามคุณไม่สามารถป้อนข้อมูลเป็นสองฟิลด์แยกกันได้ ความล่าช้า 10 มิลลิวินาทีควรเริ่มเมื่อโปรแกรมเริ่มให้ป้อนข้อมูล คุณอาจทำการประมวลผลล่วงหน้าก่อนที่จะอนุญาตให้ป้อนข้อมูลซึ่งไม่ควรนับเป็น 10 มิลลิวินาที ผ่อนปรนบางอย่างได้รับอนุญาตในเวลาตราบเท่าที่มันเฉลี่ย 10 มิลลิวินาทีและถูกปิดโดยมากกว่า 1 มิลลิวินาทีไม่เกิน 1% ของเวลาในคอมพิวเตอร์ที่ระบุอย่างสมเหตุสมผล เอาท์พุต คุณสามารถส่งออกสตริงในวิธีใดก็ตามที่คุณเห็นว่าเหมาะสม คุณสามารถอัปเดตแบบสดๆเมื่อผู้ใช้พิมพ์หรือเอาท์พุทผลลัพธ์หลังจากที่คุณป้อนข้อมูลเสร็จแล้ว (ไม่ว่าจะขึ้นบรรทัดใหม่หรือสิ้นสุดไฟล์^D) กรณีทดสอบ บางส่วนของสิ่งเหล่านี้ถูกสร้างโดยCMC นี้ใน The Nine Nine Byte First 10 | after | result bra …
15 code-golf  string  date 

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