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

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

8
สะกดตัวเลขในภาษาฝรั่งเศส
มีความท้าทายในการแปลงตัวเลขเป็นตัวเลขในภาษาอังกฤษแต่นั่นก็ตรงไปตรงมาเกินไป รับตัวเลข 0-100 งานของคุณคือส่งออกตัวเลขที่เกี่ยวข้องในภาษาฝรั่งเศส ระบบตัวเลขของฝรั่งเศสมีตรรกะที่ซับซ้อนกว่าเมื่อเทียบกับภาษาอังกฤษ: ตัวเลขจำนวน --------------- 0 zéro (สังเกตสำเนียง) 1 อัน 2 deux 3 ทรอยส์ 4 ห้อง 5 cinq 6 หก 7 กันยายน 8 ชั่วโมง 9 neuf 10 dix 11 ครั้ง 12 douze 13 Treize 14 quatorze 15 quinze 16 ยึด 17 dix-sept (ตัวอักษรสิบเจ็ด) 18 dix-huit 19 dix-neuf 20 …

11
หยุดพักเพื่อสร้างงู!
งูคลาสสิกของเราได้มีการพัฒนา inbalance ของฮอร์โมนการเจริญเติบโต เพื่อทำให้เรื่องแย่ลงหางของเขาก็ถูกแช่แข็ง! รับอินพุตทิศทางตามที่ระบุในFigure 1เขียนโปรแกรมเพื่อตรวจสอบที่เขาจะเติบโต รูปที่ 1.อินพุตทิศทาง ข้อกำหนดของโปรแกรม อ่านการป้อนSTDINตัวอักษรโดยตัวอักษรบน หลังจากที่ได้อ่านตัวอักษร, การส่งออกSTDOUTงูไป โปรดใส่บรรทัดว่างระหว่างแต่ละครั้งที่คุณพิมพ์งู งูประกอบด้วย<>v^และหัว หัวของงูอาจจะเป็นตัวละครรอบใด ๆ ที่คุณเลือกเช่นo, 0, หรือO☺ การรวมกันของใด ๆ ที่wasdถูกต้องสำหรับการป้อนข้อมูล โปรแกรมของคุณไม่ควรถือว่าอินพุตอยู่ในระยะเวลาที่แน่นอน <>v^งูสามารถกองอยู่ด้านบนของตัวเองเขียนทับ ดูตัวอย่างสำหรับกลไกการเลี้ยงงู ช่องว่างต่อท้ายไม่เป็นไร แต่งูของคุณจะต้องดูถูกต้อง เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ คะแนนของคุณคือจำนวนตัวอักษรในโปรแกรมของคุณ คะแนนต่ำสุดชนะ! ตัวอย่างงู: การป้อนข้อมูล: ddddssaassdddddww เอาท์พุท: >>>>v v v<< ☺ v ^ >>>>>^ การป้อนข้อมูล: dddsssaaawww เอาท์พุท: ☺>>v ^ v ^ v …
23 code-golf 

27
พรม Sierpinski
ใครไม่รักเศษส่วนที่ดี Sierpinski พรมเป็นตัวอย่างคลาสสิกของเศษส่วน ในการทำภารกิจนี้ให้เสร็จคุณจะต้องสร้างพรมชนิดและพิมพ์รูปภาพผลลัพธ์ไปที่stdout(ดูตัวอย่างด้านล่างสำหรับการจัดรูปแบบ) ซึ่งแสดงถึงระดับพรม ขั้นตอนสามารถพบได้ในบทความWikipediaนี้ ค่านี้จะถูกนำมาจากstdinหรือเทียบเท่า ตัวอย่างเช่นอินพุต 4 จะสร้างพรมระดับที่ 4: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ …

5
Regex Golf: ภูมิภาคของอิตาลีเทียบกับสหรัฐอเมริกา
เราพบปัญหาเกี่ยวกับmeta-regex-golfซึ่งได้รับแรงบันดาลใจจากการ์ตูน xkcd แต่สนามกอล์ฟ Regex นี้ก็ดูสนุกเช่นกัน! ฉันต้องการแยกความแตกต่างระหว่างรัฐของสหรัฐอเมริกาและภูมิภาคของอิตาลี ทำไม? ฉันเป็นพลเมืองของทั้งสองประเทศและฉันมักจะมีปัญหากับเรื่องนี้* ภูมิภาคของประเทศอิตาลีนั้น Abruzzo, Valle d'Aosta, Puglia, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Sardegna, Sicilia, Trentino-Alto Adige/Südtirol, Toscana, Umbria, Veneto และสหรัฐอเมริกาเป็น Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, …

6
วงกลมแบ่งระนาบ
งาน คุณจะได้รับชุดของวงการในระนาบกับศูนย์ของพวกเขาในสายการ y = 0 รับประกันว่าจะไม่มีวงกลมคู่ใดมีจุดร่วมมากกว่าหนึ่งจุด งานของคุณคือกำหนดจำนวนภูมิภาคที่วงกลมแบ่งเครื่องบิน ภูมิภาคคือชุดของจุดที่ต่อเนื่องกันที่รวมเข้าด้วยกันอย่างสูงสุดซึ่งไม่ได้ตัดกันวงกลมใด ๆ คุณควรเขียนโปรแกรมที่คำนวณคำตอบนี้เมื่อได้รับคำอธิบายของแวดวง นี่คือตัวอย่าง: ทางด้านซ้ายคุณจะเห็นวงกลมที่วาดในระนาบ อย่างไรก็ตามในครึ่งด้านขวาของภาพภูมิภาคที่ผลิตโดยวงกลมจะมีสีชัดเจน (หนึ่งสีต่อภูมิภาค) ในตัวอย่างนี้มีหกภูมิภาค อินพุต บรรทัดแรกของอินพุตมีจำนวน, Nจำนวนของคำอธิบายวงกลมที่ต้องติดตาม บรรทัดนี้เป็นทางเลือกถ้าโซลูชันของคุณใช้งานไม่ได้ก็ไม่เป็นไร ต่อไปนี้Nแต่ละบรรทัดมีสองจำนวนเต็มx ฉันและr ฉัน > 0คิดเป็นวงกลมที่มีศูนย์(x ฉัน , 0)และรัศมีRฉัน รับประกันว่าจะไม่มีวงกลมคู่ใดมีจุดร่วมมากกว่าหนึ่งจุด มีการรับประกันเพิ่มเติมว่าx iและr iไม่เกิน10^9ค่าสัมบูรณ์ (ดังนั้นพวกเขาจึงพอดีกับจำนวนเต็ม 32 บิต) อินพุตอาจเป็น: อ่านจาก STDIN อ่านจากไฟล์ชื่อIในไดเรกทอรีปัจจุบัน อีกทางหนึ่งอินพุตอาจเป็น: เป็นสตริง (รวมถึงการขึ้นบรรทัดใหม่) ในตัวแปรทั่วโลก บนสแต็ก เอาท์พุต นี่ควรเป็นเลขจำนวนเต็มเดียวคือตัวเลขตามภูมิภาคที่ผลิต สิ่งนี้ควรถูกเขียนไปยัง STDOUT หรือไฟล์ที่มีชื่อOในไดเรกทอรีปัจจุบัน กฎระเบียบ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ …

10
ตัวต้านทานค่าที่ผิดปกติ
บทนำ เมื่อสร้างโครงการอิเล็กทรอนิกส์แผนผังอาจเรียกตัวต้านทานที่มีค่าผิดปกติ (กล่าวคือ 510 โอห์ม) คุณตรวจสอบชิ้นส่วนในถังขยะและพบว่าคุณไม่มีตัวต้านทาน 510 โอห์ม แต่คุณมีค่าทั่วไปมากมายด้านบนและด้านล่างค่านี้ ด้วยการรวมตัวต้านทานแบบขนานและอนุกรมคุณควรจะสามารถประมาณตัวต้านทาน 510 โอห์มได้ดีพอสมควร งาน คุณต้องเขียนฟังก์ชั่นหรือโปรแกรมที่รับรายการค่าตัวต้านทาน (ตัวต้านทานที่คุณเก็บไว้) และค่าเป้าหมาย (ซึ่งคุณมุ่งหวังที่จะประมาณ) โปรแกรมจะต้องพิจารณา: ตัวต้านทานส่วนบุคคล ตัวต้านทานสองตัวในอนุกรม ตัวต้านทานสองตัวขนานกัน โปรแกรมควรคำนวณการรวมกันที่เป็นไปได้ทั้งหมดของตัวต้านทาน 1 และ 2 จากรายการหุ้น (รวมถึงสำเนาสองตัวที่มีค่าตัวต้านทานเดียวกัน) คำนวณอนุกรมและความต้านทานแบบขนานของพวกเขาจากนั้นเรียงลำดับการกำหนดค่าตามความเหมาะสม รูปแบบเอาต์พุตควรเป็นหนึ่งการกำหนดค่าต่อบรรทัดโดยมี+ชุด|denoting และdenoting ขนานและบางพื้นที่หรือเครื่องหมาย = ก่อนความต้านทานสุทธิ สูตร ความต้านทานของตัวต้านทานหนึ่งตัวคือ R1 ความต้านทานสุทธิของตัวต้านทานสองตัวในอนุกรมคือ R1 + R2 ความต้านทานสุทธิของตัวต้านทานสองตัวแบบขนานคือ 1 / (1/R1 + 1/R2) dist = abs(Rapprox / …

5
เคล็ดลับสำหรับการเล่นกอล์ฟใน brainfuck
คุณมีเคล็ดลับทั่วไปอะไรในการเล่นกอล์ฟใน brainfuck? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะเจาะจงกับ brainfuck (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ

4
การแก้ปัญหาสามปัญหาที่เปิดอยู่กับ Oracle ที่หยุดทำงาน
คุณได้รับฟังก์ชั่น: h1 (f, * args) และ h2 (f, * args) ทั้งสองเป็นวิธีที่กำหนดไว้แล้วสำหรับคุณ (ที่นี่เครื่องหมายดอกจันระบุจำนวนตัวแปรของการขัดแย้ง) f คือฟังก์ชั่น * args คือรายการพารามิเตอร์ที่จะส่งผ่านไปยังฟังก์ชันนั้น h1 ส่งคืนค่าบูลีน: เป็นจริงถ้าฟังก์ชั่น f หยุดชะงักเมื่อเรียกใช้บน * args และ False หากไม่ (สมมติว่าเครื่องที่รันอยู่จะมีเวลาและหน่วยความจำไม่สิ้นสุดและล่าม / คอมไพเลอร์สำหรับภาษาที่คุณกำลังเขียน รู้วิธีจัดการกับเวลาและหน่วยความจำไม่สิ้นสุด) ถ้า f (* args) จะทำการเรียกไปยัง h1 หรือ h2 เสมอ h1 จะส่งข้อยกเว้น h2 ทำตัวเหมือน h1 ยกเว้นว่าถ้า f ทำการเรียกไปยัง h1 h2 …
23 code-golf  math 

6
อัตราส่วนเลโก้เกียร์
ฉันกำลังสร้างหุ่นยนต์เลโก้ยักษ์และฉันจำเป็นต้องสร้างอัตราส่วนเกียร์พิเศษบางอย่างโดยใช้ชุดเกียร์ ฉันมีจำนวนมากของเกียร์ที่มีขนาดเลโก้เกียร์ธรรมดา: 8, 16, 24 หรือ 40 ฟัน เขียนโปรแกรมที่ฉันสามารถใช้ในการใส่อัตราส่วนการใส่เกียร์และโปรแกรมบอกฉันว่าควรใช้การรวมกันของเกียร์เพื่อให้ได้อัตราส่วนที่ต้องการ อัตราส่วนการป้อนข้อมูลจะถูกระบุในการป้อนข้อมูลมาตรฐาน (หรือเทียบเท่าภาษาของคุณ) ที่มีจำนวนเต็มสองจำนวนคั่นด้วยลำไส้ใหญ่ อัตราส่วนของa:bวิธีการที่เพลาส่งออกควรเปลี่ยนa/bเวลาเป็นเร็วเป็นเพลาอินพุต เอาต์พุตไปยังเอาต์พุตมาตรฐานควรเป็นบรรทัดเดียวที่มีรายการอัตราส่วนเกียร์ว่างโดยคั่นด้วยช่องว่างในรูปแบบx:yที่xขนาดของเกียร์บนเพลาอินพุตและyเป็นขนาดของเกียร์บนเพลาเอาท์พุท คุณต้องใช้จำนวนเกียร์ต่ำสุดเท่าที่จะเป็นไปได้สำหรับอัตราส่วนที่กำหนด แต่ละคนxและต้องเป็นหนึ่งในy8,16,24,40 ตัวอย่าง: 1:5 -> 8:40 10:1 -> 40:8 16:8 9:4 -> 24:16 24:16 7:1 -> IMPOSSIBLE 7:7 -> 6:15 -> 16:40 หากอัตราทดเกียร์ที่ต้องการเป็นไปไม่ได้ให้พิมพ์ "IMPOSSIBLE" หากไม่ต้องการเกียร์ให้พิมพ์สตริงว่าง นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ
23 code-golf  math 

30
ตัวอักษรในหมายเลขโทรศัพท์
ปัญหา: คุณกำลังสร้างโทรศัพท์ใหม่ที่ผู้คนสามารถพิมพ์หมายเลขโทรศัพท์พิเศษ1-800-programและพวกเขาจะถูกแปลงเป็นหมายเลขโทรศัพท์ที่ใช้งานได้โดยอัตโนมัติเช่น1-800-7764726(สำหรับตัวอย่างก่อนหน้า) โปรแกรมของคุณจะได้รับสตริงหากความยาวของตัวเลขตัวอักษรและขีดกลางและแปลงตัวอักษรทั้งหมดให้เป็นตัวเลขที่เกี่ยวข้อง นี่คือปุ่มกดสำหรับการอ้างอิง: กฎ: โปรแกรมของคุณจะได้รับสตริง มันจะประมวลผลและกลับ / พิมพ์สตริงอื่น ยอมรับภาษาใดก็ได้ เนื่องจากเป็นcode-golfรหัสที่สั้นที่สุดจะเป็นผู้ชนะ
23 code-golf  number 

5
ทำคะแนนในเกมของ Go
การให้คะแนนเกมGoเป็นงานที่ไม่ง่ายเกินไป ในอดีตมีการถกเถียงกันหลายเรื่องเกี่ยวกับวิธีการออกแบบกฏเพื่อให้ครอบคลุมกรณีมุมแปลก ๆ ที่อาจเกิดขึ้น โชคดีที่ในภารกิจนี้คุณไม่ต้องทำสิ่งที่ซับซ้อนเช่นชีวิตและความตายหรือการตรวจจับเซกิ ในภารกิจนี้คุณต้องใช้โปรแกรมที่ให้คะแนนเกมตามกฎ Tromp-Taylorโดย Komi ขั้นตอนการให้คะแนนค่อนข้างง่าย: จุด P, ไม่ใช่สี C, ถูกพูดถึง C หากมีเส้นทาง (จุดแนวตั้งหรือแนวนอน) จุดสีที่อยู่ติดกันของ P จาก P ไปยังจุดสี C คะแนนของผู้เล่นคือจำนวนจุดสีของเธอ รวมถึงจำนวนคะแนนที่ว่างที่เข้าถึงได้เฉพาะสีของเธอ ตัวอย่างเช่นพิจารณากระดานต่อไปนี้ X, Oและ-แสดงว่าสีดำ, สีขาวและทาสีทางแยก: - - - X - O - - - - - - X - O - - - - - - …

21
แปลงทศนิยมซ้ำเป็นเศษส่วน
คำถามนี้ไม่จำเป็นต้องใช้กับการยกเลิกทศนิยม - ทศนิยมซ้ำยังสามารถแปลงเป็นเศษส่วนผ่านอัลกอริทึม งานของคุณคือการสร้างโปรแกรมที่ใช้ทศนิยมซ้ำเป็นอินพุตและส่งออกตัวเศษและส่วนที่เกี่ยวข้อง (ในเงื่อนไขต่ำสุด) ที่สร้างการขยายทศนิยม เศษส่วนมากกว่า 1 9/5ควรจะแสดงเป็นเศษส่วนที่ไม่เหมาะสมเช่น คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นเป็นค่าบวก ทศนิยมซ้ำจะได้รับในรูปแบบนี้: 5.3.87 กับทุกอย่างหลังจากจุดที่สองซ้ำแล้วซ้ำอีกเช่นนี้ 5.3878787878787... โปรแกรมของคุณจะส่งออกจำนวนเต็มสองจำนวนที่แสดงถึงตัวเศษและส่วนโดยคั่นด้วยเครื่องหมายทับ (หรือรูปแบบที่เทียบเท่าในภาษาของคุณหากคุณไม่ได้พิมพ์ข้อความธรรมดา): 889/165 โปรดทราบว่าการยกเลิกทศนิยมจะไม่มีอะไรหลังจากจุดที่สองและทศนิยมที่ไม่มีส่วนทศนิยมที่ไม่ซ้ำจะไม่มีอะไรระหว่างจุดสองจุด กรณีทดสอบ กรณีทดสอบเหล่านี้ครอบคลุมกรณีมุมที่ต้องการทั้งหมด: 0..3 = 1/3 0.0.3 = 1/30 0.00.3 = 1/300 0.6875. = 11/16 1.8. = 9/5 2.. = 2/1 5..09 = 56/11 0.1.6 = 1/6 2..142857 = 15/7 0.01041.6 = 1/96 …

15
สตริงภูมิประเทศ
นี่คือตัวอย่างอินพุตดังนั้นฉันสามารถอธิบายได้ว่าปัญหาคืออะไร: ((1 2)(3 (4 5) moo)) (i (lik(cherries)e (woohoo))) คิดว่าบรรทัดของข้อความนี้เป็นแผนที่ภูมิประเทศของภูเขาบางแห่ง วงเล็บแต่ละชุดแสดงความสูงหนึ่งหน่วย หากเรา "ดู" สิ่งนี้จากด้านข้างเพื่อให้เราเห็นภูเขาในแนวตั้งเราจะเห็น: 4 5 cherries woohoo 1 2 3 moo lik e i เมื่อกำหนดหนึ่งในแผนที่ภูมิประเทศเหล่านี้ให้ส่งออกแผนที่ แต่ในระดับแนวตั้งเช่นผลลัพธ์ด้านบน แยกรายการต่าง ๆ ในแผนที่ด้วยจำนวนตัวอักษรไปยังรายการถัดไป ตัวอย่างเช่นมี 4 ช่องว่างในการส่งออกระหว่างและmoo iเช่นเดียวกันมี 4 ตัวอักษรในการป้อนข้อมูลระหว่างและmooi รหัสที่ทำสิ่งนี้ในจำนวนอักขระน้อยที่สุดชนะ

7
แปลงการแสดงออกมัดเป็นสัญลักษณ์ postfix
เมื่อฉันเห็นชื่อของคำถามที่ปิดนี้ฉันคิดว่ามันดูเหมือนการแข่งขันกอล์ฟที่น่าสนใจ ดังนั้นฉันขอเสนอเป็นเช่นนี้: ท้าทาย: เขียนโปรแกรมการแสดงออกหรือย่อยซึ่งได้รับการแสดงออกเกี่ยวกับคณิตศาสตร์ในสัญกรณ์มัดเช่น1 + 2ผลลัพธ์ที่ได้แสดงออกเหมือนกันในสัญกรณ์ postfix1 2 +คือ (หมายเหตุ: ความท้าทายที่คล้ายกันถูกโพสต์เมื่อต้นเดือนมกราคม อย่างไรก็ตามฉันรู้สึกว่างานทั้งสองนั้นมีความแตกต่างกันพอสมควรเพื่อแสดงให้เห็นถึงความท้าทายที่แยกต่างหากนี้นอกจากนี้ฉันสังเกตเห็นหัวข้ออื่นหลังจากพิมพ์ทุกอย่างด้านล่าง ไม่เพียงทิ้งมันไป) การป้อนข้อมูล: การป้อนข้อมูลประกอบด้วยมัดที่ถูกต้องแสดงออกคณิตศาสตร์ซึ่งประกอบด้วยตัวเลข (จำนวนเต็มไม่เป็นลบแสดงเป็นลำดับหนึ่งหรือตัวเลขทศนิยมเพิ่มเติม) สมดุลวงเล็บเพื่อระบุ subexpression จัดกลุ่มและสี่มัดไบนารีผู้ประกอบการ + , -, และ* /สิ่งเหล่านี้อาจถูกแยกออก (และนิพจน์ทั้งหมดล้อมรอบ) ด้วยจำนวนช่องว่างโดยพลการซึ่งควรละเว้น 1 สำหรับผู้ที่ชื่นชอบไวยากรณ์อย่างเป็นทางการนี่เป็นไวยากรณ์ที่เหมือน BNF ง่าย ๆ ที่กำหนดอินพุตที่ถูกต้อง เพื่อความกระชับและชัดเจนไวยากรณ์จะไม่รวมช่องว่างเพิ่มเติมซึ่งอาจเกิดขึ้นระหว่างโทเค็นใด ๆ สอง (นอกเหนือจากตัวเลขภายในตัวเลข): expression := number | subexpression | expression operator expression subexpression := "(" expression ")" …
23 code-golf  math 

30
10 พิมพ์ CHR $ (205.5 + RND (1)); : GOTO 10 ใน PHP (หรืออย่างอื่นสำหรับเรื่องนั้น)
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Code Golf Stack Exchange อพยพ 7 ปีที่ผ่านมา เพิ่งสนทนา 'กล้า' กับเพื่อนร่วมงานเกี่ยวกับความรัดกุมของคำสั่งพื้นฐานดังต่อไปนี้: 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 มันเป็นชื่อของหนังสือเล่มนี้และจะพิมพ์ลำดับ/และ\ตัวละครโดยสลับกันระหว่างสองแบบสุ่มทำให้เกิดรูปแบบคล้ายกับสิ่งนี้: (ภาพที่ยืมมาจากhttp://www.flickr.com/photos/rndmcnlly/5058442151/sizes/o/in/photostream/ ) ด้วยความที่เป็นความรู้ PHP เราสงสัยว่าวิธีที่กะทัดรัดที่สุดในการเขียนสิ่งเดียวกันใน PHP คืออะไรและเกิดขึ้นกับสิ่งนี้: while(1) { echo chr(47 + 45 * rand(0,1)); } chr(47)เป็น/ตัวอักษรและ chr (92) \เป็น ดังนั้นคำสั่งecho chr(47 + 45 * rand(0,1));จะสุ่มเลือกระหว่างสองคลื่นไส้โฆษณา ในภาษาที่คุณเลือกให้เขียนโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดเพื่อส่งออกลำดับ\และ/ตัวละครแบบสุ่มที่ไม่มีที่สิ้นสุดซึ่งตัวละครแต่ละตัวมีความเป็นไปได้ที่จะถูกเลือกเท่ากัน

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