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

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

24
ลำดับ RATS
งานของคุณคือการสร้างคำที่ n ของลำดับ RATS โดยที่ n คืออินพุต ลำดับ RATS ยังเป็นที่รู้จักในลำดับกลับเพิ่มเรียงแล้ว ลำดับนี้ยังสามารถพบได้ที่นี่: http://oeis.org/A004000 กรณีทดสอบ: 0 > 1 1 > 2 2 > 4 3 > 8 4 > 16 5 > 77 6 > 145 7 > 668 ตัวอย่างเช่นผลลัพธ์สำหรับ 5 คือ 77 เพราะ 16 + 61 = 77 หลังจากนี้ 77 จะเรียงลำดับ …

17
แสดงคะแนนความคิดเห็นห้าอันดับแรกใน SE Post
สแต็กแลกเปลี่ยนสคริปต์กำหนดความคิดเห็นห้าข้อสำหรับคำถามหรือคำตอบในตอนแรกที่เห็นบนหน้าหลักของเว็บไซต์ผ่านจำนวน upvotes ที่พวกเขา; ห้าความคิดเห็นที่มีจำนวนคะแนนสูงสุดจะปรากฏขึ้น งานของคุณคือสร้างพฤติกรรมนี้ใหม่ เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบโดยรับอินพุตผ่าน STDIN, บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและพิมพ์หรือส่งคืนคะแนนความคิดเห็นห้าอันดับแรก การป้อนข้อมูลจะเป็นอาร์เรย์ของจำนวนเต็มแทนจำนวน upvotes ในความคิดเห็นของบางโพสต์ ตัวอย่างเช่นอินพุตของ 0, 2, 5, 4, 0, 1, 0 หมายความว่าความคิดเห็นแรกไม่มีการลงคะแนนเสียงความคิดเห็นที่สองมีสองคะแนนที่สามมีห้าคะแนนที่สี่มีสี่คะแนนลำดับของคะแนนความคิดเห็นควรยังคงเหมือนเดิมในผลลัพธ์ หากอินพุตมีคะแนนข้อคิดเห็นอย่างน้อยห้าคะแนนผลลัพธ์จะไม่มีสิ่งใดเกินกว่าที่ได้รับ หากคะแนนความคิดเห็นตั้งแต่สองคะแนนขึ้นไปเหมือนกันคะแนนแรกควรปรากฏขึ้น คุณอาจสมมติว่าอาร์เรย์ข้อมูลเข้าจะมีคะแนนความคิดเห็นอย่างน้อยหนึ่งคะแนน ตัวเลขในเอาต์พุตควรแยกความแตกต่างได้ง่าย (ดังนั้น 02541 สำหรับกรณีที่ 1 ไม่ถูกต้อง) มิฉะนั้นจะไม่มีข้อ จำกัด ในรูปแบบเอาต์พุต ตัวเลขอาจคั่นด้วยช่องว่างหรือขึ้นบรรทัดใหม่หรืออาจอยู่ในรูปแบบรายการเป็นต้น กรณีทดสอบ: [0, 2, 5, 4, 0, 1, 0] -> [0, 2, 5, 4, 1] [2, 1, 1, …

3
ช่วยด้วย! เครื่องคิดเลขของฉันพัง! (เปลี่ยนนิพจน์จำนวนเต็มเป็นการกดปุ่มเครื่องคิดเลข)
บทนำ ช่วยด้วย! ฉันเผลอทิ้งเครื่องคิดเลข TI-84 ของฉันออกไปนอกหน้าต่าง (ไม่ต้องถามว่าทำอย่างไร) และมันก็พัง ฉันมีการทดสอบทางคณิตศาสตร์ในวันพรุ่งนี้และเครื่องคิดเลขเพียงตัวเดียวที่ฉันพบคือปุ่มที่มี: 7 8 9 + 4 5 6 - 1 2 3 * 0 = / แบบทดสอบคณิตศาสตร์ของฉันคือแบบทดสอบทบทวนการประเมินผลนิพจน์ ฉันต้องการโปรแกรมเพื่อแสดงออกเช่น1+(5*4)/7และแปลงเป็นการกดแป้นที่จำเป็นในการแก้ปัญหาในเครื่องคิดเลขสำรองของฉัน (และในกรณีที่คุณสงสัยสิ่งนี้เกิดขึ้นกับฉันจริง ๆ ) ท้าทาย ได้รับสายเข้าไม่ว่างเปล่าที่มีเพียงตัวละคร0-9, (, ), +, -, *และ/การส่งออกการกดแป้นพิมพ์ในสตริงพื้นที่แยกออกจากกัน (เช่น. 1 + 3 / 3 =) จะต้องมีเครื่องหมายเท่ากับเสมอในตอนท้ายของเอาต์พุต ไม่อนุญาตช่องโหว่มาตรฐาน ตัวอย่าง: อินพุต: 1+(5*4)/7, เอาต์พุต:5 * 4 …

1
เวทมนตร์: กอล์ฟการต่อสู้ที่รวบรวม
Magic: the Gatheringเป็นเกมไพ่ที่ผู้เล่นเล่นไพ่ที่เป็นตัวแทนของสิ่งมีชีวิตซึ่งสามารถโจมตีผู้เล่นอื่นหรือป้องกันการโจมตีของผู้เล่นคนอื่นโดยการปิดกั้น ในการท้าทายรหัสกอล์ฟโปรแกรมของคุณจะอยู่ในตำแหน่งของผู้เล่นเวทย์มนตร์ตัดสินใจว่าจะบล็อกในการต่อสู้อย่างไร สัตว์แต่ละตัวมีคุณสมบัติที่เกี่ยวข้องสองประการ ได้แก่ พลังและความทนทาน พลังของสิ่งมีชีวิตคือปริมาณของความเสียหายที่สามารถจัดการในการต่อสู้และความทนทานของมันคือปริมาณของความเสียหายที่จำเป็นในการทำลาย พลังอยู่เสมออย่างน้อย 0 และความเหนียวอยู่เสมออย่างน้อย 1 ระหว่างการต่อสู้ในเวทย์มนตร์ผู้เล่นที่มีเทิร์นจะประกาศสิ่งมีชีวิตบางส่วนของพวกเขาที่จะโจมตีฝ่ายตรงข้าม จากนั้นผู้เล่นคนอื่นที่รู้จักกันในชื่อผู้เล่นป้องกันอาจกำหนดสิ่งมีชีวิตของพวกเขาเป็นบล็อค สิ่งมีชีวิตอาจบล็อกสิ่งมีชีวิตเดียวต่อการต่อสู้ แต่สิ่งมีชีวิตหลายคนอาจบล็อกสิ่งมีชีวิตเดียวกัน หลังจากบล็อกเกอร์ถูกประกาศผู้เล่นที่โจมตีจะทำการตัดสินใจสำหรับสิ่งมีชีวิตที่ถูกโจมตีแต่ละตัวที่ถูกบล็อกวิธีการกระจายความเสียหาย (เท่ากับพลังของมัน) ที่สิ่งมีชีวิตนั้นเกี่ยวข้องกับสิ่งมีชีวิตที่ปิดกั้น จากนั้นความเสียหายจะได้รับการจัดการ สัตว์แต่ละตัวจะสร้างความเสียหายเท่ากับพลังของมัน โจมตีสัตว์ที่ถูกปิดกั้นสร้างความเสียหายตามมา สัตว์ที่ไม่ได้รับการปลดบล็อกจะสร้างความเสียหายให้กับผู้เล่นที่ป้องกัน การปิดกั้นสิ่งมีชีวิตสร้างความเสียหายให้กับสิ่งมีชีวิตที่พวกเขาบล็อก สิ่งมีชีวิตที่เป็นของผู้เล่นที่ป้องกันซึ่งไม่ได้บล็อกจะไม่ได้รับความเสียหายใด ๆ (ไม่จำเป็นต้องบล็อกสิ่งมีชีวิต) ในที่สุดสิ่งมีชีวิตใด ๆ ที่สร้างความเสียหายเท่ากับหรือมากกว่าความทนทานของมันจะถูกทำลายและถูกลบออกจากสนามรบ จำนวนความเสียหายใด ๆ ที่น้อยกว่าความทนทานของสัตว์ไม่มีผล นี่คือตัวอย่างของกระบวนการนี้: สิ่งมีชีวิตที่มีพลัง P และความทนทาน T แสดงเป็น P/T Attacking: 2/2, 3/3 Defending player's creatures: 1/4, 1/1, 0/1 Defending …

1
วาดล้อหมุนได้
จำ pinwheels ที่สนุกที่คุณระเบิดและหมุนไปรอบ ๆ รหัสหนึ่งกันเถอะ! ตะไลจะมีชุดของตัวละครที่\ | / _วาดศูนย์กลางและแขนของมัน หนึ่งล้อเลื่อนที่เป็นไปได้อาจมีลักษณะเช่นนี้: | | |_ ___ ___|_| | | | แต่ตะไลนั้นไม่หมุนอะไร ไม่สนุก! เราสามารถทำให้มันหมุนได้โดยจัดเรียงสัญลักษณ์ใหม่: / \ / \ / \/\ \/\ / \ / \ / ความท้าทายคือการสร้างโปรแกรมที่ใช้จำนวนเต็มสามจำนวนและส่งออกตะไลตามที่ระบุด้านล่าง ครั้งแรกของเหล่านี้คือจำนวนของแขนที่มีที่สองคือความยาวของแขนของตะไลและที่สามคือจำนวนครั้งที่มันจะหมุนหนึ่งในแปดของการหมุนตามเข็มนาฬิกา คุณสามารถสมมติสิ่งต่อไปนี้: จำนวนแขนจะเป็น 0, 1, 2, 4 หรือ 8 เสมอ แขนทุกอันจะเว้นระยะห่างเท่ากันจากกัน ตำแหน่งเริ่มต้นของตะไลจะมีจุดศูนย์กลางอยู่ที่: _ |_| หากจำนวนแขนเท่ากับ 1 …

7
ตัวละครเพื่อนคนไหนเป็นเพื่อนที่ดีที่สุด?
นักแสดงหลักหกคนของซิทคอมเพื่อนชาวอเมริกันทุกคนเห็นพ้องต้องกันว่าพวกเขาจะได้รับเงินเดือนเดียวกันตลอดระยะเวลาของซีรีส์ (หลังจบฤดูกาลที่ 2 อย่างน้อย) แต่นั่นไม่ได้หมายความว่าพวกเขาทุกคนมีเวลาออกอากาศเท่ากันหรือพวกเขามีปฏิสัมพันธ์บนหน้าจอกันในปริมาณเท่ากัน ในการท้าทายนี้คุณจะเขียนโปรแกรมที่สามารถช่วยตัดสินว่าเพื่อนของเพื่อนคนไหนดีที่สุด ติดตั้ง ลองพิจารณาดูตอนหรือฉากของเพื่อนและจดบันทึกว่าใครอยู่บนหน้าจอระหว่างที่กล้องถ่ายรูปแต่ละนัดและนานเท่าใด เราจะย่อชื่อตัวละครแต่ละตัว: Cสำหรับแชนด์เลอร์ Jสำหรับโจอี้ Mสำหรับโมนิก้า PสำหรับPhoebe Rสำหรับราเชล Sสำหรับรอสส์ จากนั้นสำหรับทุกช็อตของกล้อง (หรือทุกครั้งที่ตัวละครเข้า / ออกจากช็อต) เราจะแสดงว่ามีใครอยู่บนหน้าจอ ตัวอย่างเช่น: 504 CRS 200 J 345 MP 980 2000 CJMPRS นี่เป็นการบอกว่า: สำหรับ 504ms, Chandler, Rachel และ Ross อยู่บนหน้าจอ จากนั้นเป็นระยะเวลา 200 มิลลิวินาทีโจอี้เป็น จากนั้นสำหรับ 345ms, Monica และ Phoebe อยู่ จากนั้นสำหรับ 980ms ไม่มีตัวละครหลักทั้ง …

30
ใช้“ แทค”: พิมพ์บรรทัดจากไฟล์ย้อนกลับ
ระหว่างคำถามลูกแมวและเห็นคำถามนี้ที่ U & Lเกี่ยวกับบางsedมายากลวิธีการเกี่ยวกับการดำเนินการtac? วัตถุประสงค์ ใช้โปรแกรมที่จะย้อนกลับและพิมพ์บรรทัดในไฟล์ อินพุต ไฟล์ที่ระบุเป็นชื่อหรือผ่านอินพุตมาตรฐาน เอาท์พุต เส้นกลับด้านเพื่อออกมาตรฐาน เกณฑ์การให้คะแนน ไบต์ของซอร์สโค้ด
30 code-golf  string 

30
จัดเรียงตัวเลขที่ไม่ซ้ำกันในตารางการคูณ
ความท้าทายง่ายๆวันนี้: เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N แล้วพิมพ์หรือส่งกลับรายการเรียงลำดับของตัวเลขเฉพาะที่ปรากฏในตารางสูตรคูณซึ่งแถวและคอลัมน์ทวีคูณทั้งช่วงจาก 1 ถึง N รวม รายการอาจเรียงลำดับจากน้อยไปหามาก (น้อยไปหามากที่สุด) หรือเรียงจากมากไปหาน้อย (มากที่สุดไปหาน้อยที่สุด) และอาจถูกเรียงลำดับในรูปแบบที่เหมาะสม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! ตัวอย่าง เมื่อ N = 4 ตารางสูตรคูณจะมีลักษณะดังนี้: 1 2 3 4 ----------- 1| 1 2 3 4 | 2| 2 4 6 8 | 3| 3 6 9 12 | 4| 4 8 12 16 1, 2, …

10
ข้อความไซน์
เป้าหมาย:เขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์สตริงอินพุตในรูปแบบไซน์ ไซน์ไซนัส ASCII นี่คือช่วงเวลาหนึ่งของไซนัสอยด์: ....... ... ... .. .. . . . . . . . . . . . . . . . .. .. ... ... ....... โปรดทราบว่าแต่ละจุดมีจุดหนึ่งจุดอย่างแน่นอน อักขระแต่ละตัวในสตริงอินพุตจะแทนที่จุดในรูปร่างด้านบนจากซ้ายไปขวา ช่องว่างในอินพุตจะต้องถูกเอาต์พุตเช่นอักขระปกติแทนจุด อักขระเริ่มต้นสอดคล้องกับจุดซ้ายสุดในรูปด้านบน นี่เป็นเพียงช่วงเวลาเดียวอินพุตอาจยาวกว่าจำนวนจุดด้านบน อินพุต อินพุตเป็นสตริง ASCII ที่มีเฉพาะอักขระระหว่าง ASCII ทศนิยม 32 (ช่องว่าง) และ ASCII ทศนิยม 126 (Tilde ~) อินพุตจะเป็นหนึ่งบรรทัดเท่านั้น (ไม่มีการแบ่งบรรทัด) …

29
Quine ในทุกบรรทัด
เป้าหมายของคุณคือการสร้างโปรแกรมที่พิมพ์ตัวเองไปเรื่อย ๆ โดยมีบรรทัดใหม่หลังจากแต่ละบรรทัด ดังนั้นหากโปรแกรมของคุณเป็นหนึ่งซับมันจะถูกทำซ้ำในทุกบรรทัดของเอาต์พุต ตัวอย่าง โปรแกรม: A เอาท์พุท: A A A ... กฎระเบียบ ต้องเป็นโปรแกรมที่สมบูรณ์ไม่ใช่ตัวอย่างหรือฟังก์ชั่น โปรแกรมควรวนซ้ำตลอดไปโดยไม่มีข้อผิดพลาดในการสแต็กมากเกินไปหรือ จำกัด การเรียกซ้ำ เอาต์พุตคือ stdout หรือทางเลือกที่ใกล้เคียงที่สุด ไม่รับอินพุตโปรแกรม ช่องโหว่มาตรฐานไม่ได้รับอนุญาตเช่นการเปิดไฟล์ของโปรแกรมหรือการเข้าถึงทรัพยากรภายนอก โปรแกรมที่ว่างเปล่าไม่อนุญาตให้ใช้เป็นช่องโหว่มาตรฐาน หากรหัสโปรแกรมของคุณลงท้ายด้วยการขึ้นบรรทัดใหม่สิ่งนี้จะไม่นับเป็นการขึ้นบรรทัดใหม่ที่จำเป็นระหว่างการคว้านและคุณจะต้องพิมพ์ใหม่ codegolf - รหัสที่สั้นที่สุดชนะ!
30 code-golf  quine 

15
มาร์จิ้นแคบเกินไป
ประมาณปี 1637 ปิแอร์เดอแฟร์มาต์เขียนในขอบของสำเนา Arithmetica ของเขา: It is impossible to separate a cube into two cubes, or a fourth power into two fourth powers, or in general, any power higher than the second, into two like powers. I have discovered a truly marvelous proof of this, which this margin is too …
30 code-golf  number 

30
คำนำหน้าทั่วไปที่ยาวที่สุดของ 2 สาย
เขียนโปรแกรมที่รับ 2 สายเป็นอินพุตและส่งคืนคำนำหน้าทั่วไปที่ยาวที่สุด นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดคือจำนวนไบต์ที่ชนะ Test Case 1: "global" , "glossary" "glo" Test Case 2: "department" , "depart" "depart" Test Case 3: "glove", "dove" ""
30 code-golf  string 

24
เข้าร่วมสำเนาตัวอย่างของ N เพื่อสร้างตัวละคร N ^ 2
ท้าทาย เขียนข้อมูลที่สั้นที่สุดของรหัสที่เป็นไปได้ดังกล่าวว่าเมื่อไม่มีสำเนาของมันจะถูกตัดแบ่งกันจำนวนของการส่งออกของตัวละครคือ N 2 N จะเป็นจำนวนเต็มบวก ตัวอย่างเช่นหากตัวอย่างข้อมูลsoln();จากนั้นการเรียกใช้soln();จะพิมพ์ตัวอักษร 1 ตัวและการsoln();soln();พิมพ์จะทำงานอย่างแน่นอน 4 ตัวอักษรและการรันsoln();soln();soln();จะพิมพ์อย่างแน่นอน 9 ตัวอักษรเป็นต้น อักขระใด ๆ อาจอยู่ในเอาต์พุตตราบใดที่จำนวนอักขระทั้งหมดถูกต้อง เพื่อหลีกเลี่ยงความสับสนข้ามระบบปฏิบัติการ\r\nบรรทัดใหม่จะถูกนับเป็นหนึ่งอักขระ โปรแกรมต้องไม่อ่านซอร์สของตนเองหรืออ่านขนาดไฟล์หรือใช้ช่องโหว่อื่น ๆ รักษาเช่นนี้อย่างเคร่งครัดควินท้าทาย ผลลัพธ์อาจไปที่ stdout หรือไฟล์หรือทางเลือกอื่นที่คล้ายกัน ไม่มีอินพุต ความคิดเห็นในโค้ดนั้นใช้ได้เนื่องจากกำลังออกจากการดำเนินการกลาง ตัวละครใด ๆ อาจอยู่ในโปรแกรม การส่งที่สั้นที่สุดในหน่วยไบต์ชนะ

30
ตัวเลขที่วิ่งหลายรอบ
งาน ค้นหาชุดของตัวเลขที่การแสดงเลขฐานสองมีการรัน1อย่างน้อยสองรายการคั่นด้วยอย่างน้อยหนึ่ง0รายการ ตัวอย่างเช่นตัวเลขที่มีความยาว 4 บิต: 0 0000 (no ones) 1 0001 (only one run) 2 0010 (only one run) 3 0011 (only one run) 4 0100 (only one run) 5 0101 Valid 6 0110 (only one run) 7 0111 (only one run) 8 1000 (only one run) 9 1001 Valid …
30 code-golf  binary 

6
วาดเส้นโค้ง Hilbert โดยใช้เครื่องหมายทับ
โค้ง Hilbertเป็นเศษส่วนพื้นที่บรรจุที่สามารถแสดงเป็นระบบ Lindenmayerกับรุ่นหลังที่มีลักษณะเช่นนี้ ขอขอบคุณที่http://www.texample.net/tikz/examples/hilbert-curve/สำหรับภาพ เป้าหมาย เขียนโปรแกรมที่สั้นที่สุดเท่าที่จะเป็นไปได้ (เป็นไบต์) ที่รับค่าจำนวนเต็มบวก n จาก stdin และดึงเส้นโค้ง Hilbert ลำดับที่ n มาที่ stdout โดยใช้เฉพาะเครื่องหมายทับด้านหน้า, สแลชย้อนหลัง, ช่องว่างและบรรทัดใหม่ ตัวอย่างเช่นถ้าอินพุตเป็น1เอาต์พุตต้องเป็น \ \/ หากอินพุตเป็น2เอาต์พุตจะต้องเป็น / \/\ /\ \ / /\/ \ \ \/ หากอินพุตเป็น3เอาต์พุตจะต้องเป็น \ /\/ / /\ \/\ \ \ /\ / / / / / \/ \/\ \ …

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