คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

3
รหัส (นักดัด) กฎกอล์ฟ Golf
รหัสกอล์ฟเกี่ยวข้องกับคำตอบบางอย่างที่ทำให้กฏกติกามากขึ้นหรือน้อยลงด้วยการทำลายข้อ จำกัด ที่ผู้ท้าชิงรับหรือไม่ได้คิดและไม่ได้ระบุไว้ในกฎ หนึ่งในช่องโหว่ที่น่าสนใจเหล่านี้เป็นไปได้ในการส่งออกมากขึ้นกว่าที่ท้าทายขอที่จะได้รับผลที่ดีกว่า เราสามารถเขียนตัวแก้รหัสกอล์ฟสากลที่พิมพ์ผลลัพธ์ที่ต้องการ - ถ้าคุณไม่สนใจว่ามันอาจต้องใช้เวลานานและเอาท์พุทสิ่งอื่น ๆ มากมายทั้งก่อนและหลัง สิ่งที่เราต้องใช้ในการส่งออกคือลำดับที่รับประกันว่าจะมีส่วนประกอบทั้งหมดที่เป็นไปได้ สำหรับรหัสกอล์ฟนี้จะเป็นลำดับ Ehrenfeucht-Mycielski : ลำดับเริ่มต้นด้วยสามบิต 010; แต่ละหลักต่อเนื่องจะเกิดขึ้นจากการหาคำต่อท้ายที่ยาวที่สุดของลำดับที่ปรากฏก่อนหน้านี้ภายในลำดับและการพึ่งพาบิตต่อไปนี้การปรากฏตัวก่อนหน้านี้ล่าสุดของคำต่อท้ายที่ การเรียงลำดับของบิตทุกอันเกิดขึ้นอย่างต่อเนื่องไม่สิ้นสุดบ่อยครั้งในลำดับ ตัวเลขสองสามตัวแรกของลำดับคือ: 010011010111000100001111 ... (ลำดับA038219 ใน OEIS ) การรวมลำดับ 8 บิตเข้ากับไบต์เราจะได้รับเอาต์พุต ASCII ที่เราสามารถส่งออกไปยังหน้าจอหรือไฟล์และที่มีเอาต์พุต จำกัด ที่เป็นไปได้ทั้งหมด โปรแกรมจะเอาท์พุทชิ้นส่วนของ pi, เนื้อเพลงของ“ Never gonna give up” , ASCII art ที่ดี, ซอร์สโค้ดของมันเอง, และทุกอย่างที่คุณต้องการเอาท์พุท สำหรับการทดสอบความถูกต้องนี่คือแฮชสำหรับ 256 ไบต์แรกของลำดับ: MD5: 5dc589a06e5ca0cd9280a364a456d7a4 SHA-1: …

8
บิงโกรหัสกอล์ฟ!
คุณจะได้รับบอร์ดบิงโกและรายการโทร คุณต้องพิมพ์ BINGO! ทันทีที่บอร์ดของคุณชนะเกม โต๊ะบิงโกมีลักษณะเช่นนี้: พวกเขาจะถูกระบุเช่นนี้: 14 29 38 52 74 4 18 33 46 62 7 16 * 60 71 9 27 44 51 67 12 23 35 47 73 ทันทีที่ติดตามบอร์ดจะมีการเรียกเช่นนี้: B7 I29 G60 G51 O71 I23 I16 N38 คุณต้องสะท้อนการโทรออกไปออกมาตรฐานจนกระทั่งหลังจากที่โทรที่ทำให้คุณชนะ (รับแถวคอลัมน์หรือ 5 เส้นทแยงมุมยาวทั้งหมดเต็มไปด้วย) BINGO!แล้วพิมพ์ สำหรับตัวอย่างข้างต้นพิมพ์: B7 I29 G60 G51 …
14 code-golf 

5
โปรแกรม Hello World สั้นที่สุดโดยไม่มีเครื่องหมายทวิภาค
ฉันเพิ่งเห็นคำถามบางอย่างเกี่ยวกับ SO ที่ถามว่าคุณสามารถสร้างโปรแกรม Hello World โดยไม่ต้องใช้เซมิโคลอนใด ๆ โดยใช้ C # ความท้าทายคือการทำเช่นนี้อีกครั้ง แต่ในจำนวนที่สั้นที่สุดของรหัสที่เป็นไปได้!
14 code-golf  c# 

1
Code Golf: ชะตากรรมของยานอวกาศคืออะไร? [เวอร์ชันศิลปะ ASCII]
พื้นหลัง ในกาแลคซี (และอาจเป็นจักรวาล) ไกลออกไป ... มียานอวกาศและดาวเคราะห์จำนวนหนึ่ง การทำงานผิดพลาดบนเรือทำให้ยานอวกาศหมดเชื้อเพลิง ตอนนี้มันเคลื่อนที่ด้วยความเร็วช้าที่อันตรายใกล้กับกลุ่มดาวเคราะห์ซึ่งมันจะต้องหลบหนี! ชะตากรรมของลูกเรือจะเป็นอย่างไร ความท้าทาย คุณเป็นโปรแกรมเมอร์นำใน USS StackExchange เช่นนี้คุณต้องการที่จะเขียนโปรแกรมจำลองที่จะเปิดเผยหรือไม่ว่าคุณกำลังถูกโจมตีจากพื้นดินบนดาวเคราะห์หรือไม่ก็จะหนีออกจากระบบดาวเคราะห์หรือจะติดอยู่ในวงโคจรตลอดกาล อย่างไรก็ตามการระเบิดบนยานอวกาศของคุณหมายความว่ามีทรัพยากรการคำนวณ จำกัด มาก โปรแกรมของคุณจะต้องเล็กที่สุดเท่าที่จะทำได้ นอกจากนี้หมายความว่าวิธีเดียวที่เป็นไปได้ในการป้อนข้อมูลการจำลองเพื่อเรียกใช้คือผ่าน ASCII art การจำลองสถานการณ์ ในจตุภาคของลิขสิทธิ์นี้กฎของฟิสิกส์มีการเปลี่ยนแปลงเล็กน้อยเพื่อรองรับศิลปะ ASCII ซึ่งหมายความว่าจักรวาลแบ่งออกเป็นเซลล์ การเคลื่อนไหวจะถูกอธิบายในหน่วยของเซลล์และเวลาจะอยู่ในหน่วยของขั้นตอนเวลา ตัวเรือเองมีโมเมนตัม ถ้าเรือรบเคลื่อนที่ +2 เซลล์บนแกน x และ -1 เซลล์บนแกน y (ย่อมาจาก (2, -1)) ในขั้นตอนก่อนหน้านี้และไม่มีสนามแรงโน้มถ่วงจากนั้นเรือจะเคลื่อนที่ด้วยความแม่นยำ ความเร็วเดียวกันในขั้นตอนต่อไป จะมีดาวเคราะห์หลายดวงซึ่งทั้งหมดนี้มีสนามแรงโน้มถ่วงอยู่ในแปดเซลล์รอบ ๆ มันซึ่งจะส่งผลต่อความเร็วของเรือและจะดึงเรือเข้ามาใกล้ดาวเคราะห์มากขึ้น การเป็นแค่ "ทิศเหนือ" ของดาวเคราะห์จะส่งผลให้มีการดึงเรือหนึ่งเซลล์ไปยัง "ทิศใต้" ด้วยแรง (-1,0) การเป็นแค่ …

4
เคล็ดลับสำหรับการเล่นกอล์ฟใน Groovy
เมื่อฉันได้เห็นคำถามมากมายที่ถามเคล็ดลับสำหรับการเล่นกอล์ฟในภาษาที่สนใจของพวกเขาฉันตัดสินใจที่จะถามภาษาที่ฉันชอบ: Groovy ผู้คนสามารถให้คำแนะนำและลูกเล่นที่จะใช้ในการเล่นกอล์ฟกับ Groovy
14 code-golf  tips 

9
เขียนฟังก์ชั่นที่คืนค่าอดีตกาลของคำกริยาที่กำหนด
ท้าทาย เขียนฟังก์ชันที่รับอาร์กิวเมนต์ซึ่งเป็นคำกริยาและคืนค่าอดีตกาลของคำกริยา (สมมติว่าคำกริยาเป็นปกติ) อดีตกาล หมายเหตุ: พิจารณา y เป็นพยัญชนะหรือสระ โดยปกติเพียงเพิ่มedหลังจากสิ้นสุดคำกริยาทำให้กาลที่ผ่านมาของคำกริยา เช่นjump→ jumped, ask→asked อย่างไรก็ตามมีกฎอื่น ๆ ถ้าตัวอักษรตัวสุดท้ายของคำกริยาให้เป็นเพียงแค่เพิ่มed เช่นlove→ loved, move→moved ถ้าเป็นคำกริยาจะจบลงด้วยการ + พยัญชนะyแล้วเปลี่ยนyไปและเพิ่มied เช่นstudy→ studied, cry→cried แต่ถ้าเป็นคำกริยาจะจบลงด้วยการสระ + แล้วเพียงแค่เพิ่มyed เช่นplay→ played, stay→stayed หากคำกริยาลงท้ายด้วยสระและพยัญชนะให้เขียนพยัญชนะอีกครั้งแล้วเพิ่ม edหากคำกริยาจะจบลงด้วยการสระและพยัญชนะแล้วเขียนพยัญชนะอีกครั้งหนึ่งและเพิ่ม เช่นstop→ stopped, plan→planned แต่ถ้าเป็นคำกริยาจะจบลงด้วยการสระหลาย + พยัญชนะหรือสระเดี่ยว + edหลายพยัญชนะแล้วเพียงแค่เพิ่ม เช่นlook→ looked, jump→jumped มีกฎมากกว่า แต่ให้ใส่ใจกฎข้างต้นเท่านั้น ตัวอย่างเช่นตามกฎข้างต้นvisit→visitted → ผู้ชนะ เนื่องจากนี่คือรหัสกอล์ฟรหัสที่สั้นที่สุดที่ส่งกลับกาลเวลาในอดีตชนะอย่างถูกต้อง ตัวอย่าง …
14 code-golf  string 

5
จำลองหุ่นยนต์เซลลูล่าร์ 1D ใด ๆ
ความท้าทาย คุณต้องเขียนโปรแกรมที่สมบูรณ์ซึ่งใช้ตัวเลขเจ็ดตัวจาก STDIN และพิมพ์ประวัติสองมิติของหุ่นยนต์อัตโนมัติ (CA) ไปยัง STDOUT นี่คือรหัสกอล์ฟ การจัดรูปแบบ อินพุตอินพุตจะเป็นเจ็ดจำนวนเต็ม / สตริงคั่นด้วยเครื่องหมายจุลภาค หมายเลขแรกคือจำนวนของกฎตามรหัส Wolfram (ชื่อมาตรฐานสำหรับแต่ละกฎ) ประการที่สองคือการกำหนดค่าเริ่มต้นเริ่มต้น ที่สามและสี่อธิบายรูปแบบและจำนวนครั้งที่ควรผนวกเข้ากับด้านซ้ายของการกำหนดค่าเริ่มต้น เป็นช่องว่างภายใน ที่ห้าและหกทำเช่นเดียวกันสำหรับด้านขวา ตัวเลขสุดท้ายคือจำนวนรุ่นที่รันการจำลอง 90,11,0,4,0,4,5ดังนั้นตัวอย่างของการป้อนข้อมูลเป็น นี้ควรบอกโปรแกรมที่คุณกำลังเรียกใช้กฎ 90 นอกจากนี้ยังควรบอกโปรแกรมที่คุณต้องการกำหนดค่าเริ่มต้นที่จะ11มีสตริง0ผนวก 4 0000110000ครั้งเพื่อให้ปลายทั้งสองเพื่อให้รูปแบบเริ่มต้นที่เกิดขึ้นจริง นอกจากนี้ยังบอกให้โปรแกรมของคุณรันการจำลองนี้เป็นเวลา 5 ชั่วอายุ เอาท์พุทโปรแกรมของคุณควรพิมพ์อาร์เรย์ทั้งหมดของเซลล์แต่ละรุ่น (คั่นด้วยบรรทัดใหม่) เพื่อให้เอาต์พุตเป็นไดอะแกรมสเปซ - เวลาของ CA สำหรับแต่ละรุ่นสถานะของแต่ละเซลล์จะถูกกำหนดโดยสถานะและสถานะของเซลล์ไปทางซ้ายและขวาทันทีตามกฎที่ให้ไว้เป็นอินพุต การจำลองควรล้อมรอบขอบ สิ่งแรกที่พิมพ์ควรเป็นอาร์เรย์เริ่มต้นเป็น gen 0 อินพุต90,11,0,4,0,4,5ควรส่งผลให้ผลลัพธ์ต่อไปนี้ตรงตามที่เป็นไปได้ 0000110000 0001111000 0011001100 0111111110 1100000011 0110000110 โปรดสังเกตว่าสถานะเริ่มต้นจะไม่รวมอยู่ในห้าชั่วอายุคน สังเกตว่าการจำลองล้อมรอบขอบ ตัวอย่างเพิ่มเติม …

5
เขียนเด ธ โน้ตของคุณเอง
คิระต้องการความช่วยเหลือของคุณ! รูปแบบอินพุต: Date [and/or Time] Name Gender Reason รูปแบบผลลัพธ์: <Last Name, First Name> <will die/died> on the <DD><st/nd/rd/th> of <MMM, YYYY> [at <hh:mm:ss TT>]. <He/She> <will die/died> of <Reason>. รายละเอียดรายละเอียด: โปรแกรมของคุณควรมีรูปแบบการป้อนข้อมูลตามวันที่อย่างน้อย: 9 November 2003 9/11/2003 November 9, 2003 รูปแบบเวลา: hh tt hh TT hh:mm tt hh:mm TT hh:mm:ss tt hh:mm:ss …
14 code-golf 


5
แก้ปัญหาเขาวงกตที่เป็นข้อความ
ให้เขาวงกตบน stdin และจุดเริ่มต้นเขียนโปรแกรมที่พิมพ์เส้นทางไปยังทางออกบน stdout เส้นทางใดก็ได้ที่ยอมรับได้ตราบใดที่โปรแกรมของคุณไม่สร้างเส้นทางที่ไม่สำคัญ (ผ่านทุกจุดในเขาวงกต) สำหรับเขาวงกตทุก ๆ ในการป้อนข้อมูลผนังจะมีเครื่องหมายเป็นและจุดเข้าด้วย# @คุณสามารถใช้อักขระใด ๆ เพื่อวาดเขาวงกตและเส้นทางในผลลัพธ์ตราบใดที่พวกมันแตกต่างกัน คุณอาจคิดว่า: จุดเข้าและออกอยู่ที่ขอบของอินพุต ทุกบรรทัดของอินพุตมีความยาวเท่ากัน เขาวงกตสามารถแก้ไขได้และไม่มีรอบ มีเพียงทางออกเดียวคือ การแก้ปัญหาที่สั้นที่สุดด้วยการนับตัวอักษร (Unicode) จะชนะ ตัวอย่าง (โปรดทราบว่าอินพุตมีการบุด้วยช่องว่าง) #### # # @ ##### # # # ####### #### # # @*##### #* # #****** ####### ### ################### ### # # ## ######### # # # ##### …

30
พิมพ์จำนวนของคนในจำนวนไบนารีโดยไม่ใช้ตัวดำเนินการระดับบิต
ลักษณะ กำหนดตัวเลขให้พิมพ์จำนวน1s ที่มีอยู่ในการแสดงเลขฐานสอง อินพุต ตัวเลข>= 0ในฐาน 10 ที่จะไม่เกินจำนวนสูงสุดที่ภาษาของคุณสามารถจัดการได้ เอาท์พุต จำนวนของ1s ในการเป็นตัวแทนไบนารี สภาพการชนะ รหัสที่สั้นที่สุดชนะ ไม่ได้รับอนุญาต ผู้ประกอบการระดับบิต อนุญาตให้ใช้ตัวดำเนินการอื่นเช่นการบวกและการคูณ ฟังก์ชั่นการแปลงฐานในตัว ตัวอย่าง Input: Ouput: 56432 8 Input: Output: 45781254 11 Input: Output: 0 0

10
เกมคำศัพท์ Hangman กอล์ฟ
แรงบันดาลใจจากReddit เขียนโปรแกรมที่เล่นเป็นเพชฌฆาต โปรแกรมเลือกคำที่สุ่มจากรายการคำ N โดยที่ N> 2 รายการคำสามารถให้กับโปรแกรมในวิธีที่คุณเลือก ในแต่ละรอบซ้ำ พิมพ์สถานะของเกมโดยใช้เครื่องหมายขีดล่างสำหรับตัวอักษรที่ยังไม่ได้ค้นพบ: H _ N _ _ _ N พิมพ์จำนวนครั้งที่เหลือ 10 อ่านจดหมายจาก stdin และอัพเดตสถานะของเกมลบความพยายามหากพวกเขาเดาตัวอักษรที่ไม่ถูกต้อง A (input) H A N _ _ A N 10 ทำซ้ำจนกว่าจะเดาตัวอักษรทั้งหมดหรือพยายามถึง 0 ใช้ภาษาใดก็ได้ จำนวนอักขระน้อยที่สุดชนะ การวาดตะแลงแกงนั้นไม่จำเป็น แต่จะทำให้คุณได้รับ upvotes และรุ่งโรจน์

10
ตัวเลขหลักสุดท้ายในการยกกำลัง
ในงานนี้คุณจะได้รับ A (น้อยกว่า 10,000 หลัก) และ B (น้อยกว่า 2 ^ 64) และคุณจะต้องคำนวณตัวเลขสุดท้ายของ (A · A · A · ... · A (B ครั้ง )) อินพุต A และ B ถูกกำหนดในบรรทัดเดียวคั่นด้วยช่องว่าง อินพุตถูกยกเลิกโดย EOF อินพุต 34543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222 22337254775808 38758436543765743875437656358764347568437658743658743454354645645543532487548758475847684756897548758457843758437584758478574857438758436587436587436587643875643856783478743658743658764387564387564378658437658743658743687564387564387564765746576475647564756475465746574675647654765476547534587545689475689748574385743765874585743857843765893748643587438957458754376543265874387564384764367584375874758943267632487564357 54545454123 6777744348435743587643756438765436574587564354375674365645643675 23232 3875843654376574357 54545454 เอาท์พุต 6 3 5 9 ข้อ จำกัด อย่าใช้ฟังก์ชัน inbuilt หรือตัวดำเนินการโอเวอร์โหลดเพื่อคำนวณ …
14 code-golf  math 

9
แมนเชสเตอร์เข้ารหัสกระแสข้อมูล
การเข้ารหัสแมนเชสเตอร์เป็นโปรโตคอลโทรคมนาคมที่ใช้ในการสื่อสารทางวิทยุที่รับประกันการเปลี่ยนบิตในช่วงเวลาปกติเพื่อให้ผู้รับสามารถกู้คืนอัตรานาฬิกาจากข้อมูลได้ มันเพิ่มบิตเรตเป็นสองเท่า แต่ราคาถูกและใช้งานง่าย มันถูกใช้อย่างกว้างขวางโดยผู้ประกอบการวิทยุสมัครเล่น แนวคิดนี้ง่ายมาก: ในระดับฮาร์ดแวร์นาฬิกาและสายข้อมูลเป็นเพียง XORed ด้วยกัน ในซอฟต์แวร์นี่คือภาพที่แปลงอินพุตสตรีมของบิตให้เป็นเอาต์พุตสตรีมอัตราสองเท่าโดยแต่ละอินพุต '1' ถูกแปลเป็น '01' และแต่ละอินพุต '0' แปลเป็น '10' นี่เป็นปัญหาที่ง่าย แต่เปิดให้มีการใช้งานมากมายเนื่องจากลักษณะของบิตสตรีม นั่นคือการเข้ารหัสเป็นแนวคิดแบบกระบวนการทีละบิตแทนที่จะเป็นกระบวนการไบต์ต่อไบต์ ดังนั้นเราทุกคนเห็นด้วยกับ endianness บิตที่สำคัญน้อยที่สุดของอินพุตกลายเป็นไบต์ที่สำคัญที่สุดของเอาต์พุต เวลาเล่นกอล์ฟ! เขียนฟังก์ชั่นที่กำหนดอาร์เรย์ความยาวตามอำเภอใจเป็นไบต์ส่งกลับอาร์เรย์ของข้อมูลแมนเชสเตอร์ที่เข้ารหัส อินพุตและเอาต์พุตควรถูกพิจารณาเป็น little-endian ไบต์ที่มีนัยสำคัญน้อยที่สุดก่อนและ BIT ที่สำคัญน้อยที่สุดในบิตสตรีม ASCII รูปวาดบิตสตรีม : bit # 5 4 3 2 1 0 5 4 3 2 1 0 IN ------- 1 0 …
14 code-golf  binary 

11
พรไอริชเก่า
ฉันไม่รู้ว่าใครเป็นคนสร้างคำเหล่านี้และฉันไม่ใช่ชาวไอริช แต่ฉันให้พรแก่ชาวไอริช: May the road rise up to meet you May the wind be always at your back May the sun shine warm upon your face The rains fall soft upon your fields And until we meet again May God hold you in the hollow of His hand ฉันกำลังวางแผนที่จะโพสต์ข้อความนี้ไม่กี่สัปดาห์ต่อจากนี้ แต่เพิ่งเกิดขึ้นกับฉันว่าเมื่อวานนี้เป็นวันเซนต์แพทริก …

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