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

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

11
ค้นหาเข็มไบนารีในกองหญ้าที่เป็นทศนิยม
ความท้าทาย คุณได้รับ: hรายการที่ไม่ว่างและไม่เรียงลำดับของจำนวนเต็มบวก (กองหญ้า) จำนวนเต็มบวกn (เข็ม) งานของคุณคือการกลับรายการทั้งหมดที่ไม่ซ้ำกัน concatenations ทศนิยมของพีชคณิตชั่วโมงซึ่งแทน binary มีฐานเป็นตัวแทนของn ตัวอย่าง h = [1, 2, 3] n = 65 [321]มีเพียงคนเดียวที่ตรงกับการเรียงต่อกันเพื่อให้การส่งออกที่คาดว่าจะเป็น h = [1, 2, 3] n = 7 เวลานี้มีสาม concatenations ซึ่งมีรูปแบบไบนารี111 [123, 231, 312]การส่งออกที่คาดไว้คือ h = [12, 3] n = 7 มีเพียงการเปลี่ยนลำดับสองแบบเท่านั้นและทั้งคู่กำลังจับคู่กัน [123, 312]การส่งออกที่คาดไว้คือ h = [1, 2, 2] …

30
ข้ามเหมือนกระต่าย!
กำหนดรายการของจำนวนเต็มที่ไม่เป็นลบในรูปแบบที่เหมาะสมให้วนซ้ำข้ามองค์ประกอบมากเท่าจำนวนเต็มที่คุณพูด นี่คือตัวอย่างการทำงาน: [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [] ^ First element, always include it [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [0] ^ Skip 0 elements [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [0, 1] ^ …

30
สิ่งนี้จะหยุด ...
รับสตริงอินพุตSพิมพ์Sตามด้วยตัวคั่นที่ไม่ว่างในวิธีต่อไปนี้: ขั้นตอนที่ 1: Sมี1/2โอกาสถูกพิมพ์และ1/2โอกาสที่โปรแกรมจะยกเลิก ขั้นตอนที่ 2: Sมี2/3โอกาสถูกพิมพ์และ1/3โอกาสที่โปรแกรมจะยกเลิก ขั้นตอนที่ 3: Sมี3/4โอกาสถูกพิมพ์และ1/4โอกาสที่โปรแกรมจะยกเลิก ... ขั้นตอนn: Sมีn/(n+1)โอกาสพิมพ์และมี1/(n+1)โอกาสที่โปรแกรมจะยกเลิก หมายเหตุ สตริงอินพุตจะประกอบด้วยอักขระที่ยอมรับได้ในประเภทสตริงของภาษาของคุณเท่านั้น ตัวคั่นที่ไม่ว่างใด ๆ สามารถใช้ได้ตราบใดที่มันยังคงเหมือนเดิม คาดว่าตัวคั่นจะถูกพิมพ์หลังจากการพิมพ์ครั้งสุดท้ายSก่อนที่โปรแกรมจะสิ้นสุด โปรแกรมมี1/2โอกาสยกเลิกก่อนพิมพ์อะไรก็ได้ บรรทัดใหม่ต่อท้ายเป็นที่ยอมรับ คำตอบของคุณจะต้องพยายามอย่างแท้จริงในการเคารพความน่าจะเป็นที่อธิบายไว้ เห็นได้ชัดว่าเมื่อใดที่nมีขนาดใหญ่สิ่งนี้จะน้อยลงจริง คำอธิบายที่เหมาะสมของวิธีคำนวณความน่าจะเป็นในคำตอบของคุณ (และทำไมพวกเขาจึงเคารพรายละเอียดโดยไม่คำนึงถึงปัญหาการสุ่มหลอกและปัญหาจำนวนมาก) ก็เพียงพอแล้ว เกณฑ์การให้คะแนน นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ

25
หล่นมันเหมือนมันร้อน
ตามที่อธิบายไว้ในคำถามนี้ : Dropsort ซึ่งออกแบบโดย David Morgan-Mar เป็นตัวอย่างของ "อัลกอริทึมการเรียงลำดับ" แบบ linear-time ที่สร้างรายการที่จริงแล้วเรียงลำดับแล้ว แต่มีองค์ประกอบดั้งเดิมบางส่วนเท่านั้น องค์ประกอบใด ๆ ที่ไม่ได้มีขนาดใหญ่เท่ากับองค์ประกอบสูงสุดก่อนหน้านั้นจะถูกลบออกจากรายการและทิ้งไป หากต้องการใช้หนึ่งในกรณีทดสอบของพวกเขาอินพุตของ{1, 2, 5, 4, 3, 7}อัตราผลตอบแทน{1, 2, 5, 7}เป็น4และ3มีทั้งที่ปรับตัวลดลงเป็นขนาดเล็กกว่าก่อนหน้านี้ "เรียง" 5ค่า เราไม่ต้องการอัลกอริทึม "การเรียงลำดับ" เราต้องการให้มันเป็นข้อตกลงที่แท้จริง ดังนั้นฉันต้องการให้คุณเขียนโปรแกรมที่ให้รายการตัวเลขแสดงรายการของรายการ DropSorted (เพื่อเป็นอัลกอริธึมการเรียงลำดับที่สมบูรณ์เราจะต้องรวมรายการเหล่านี้ แต่ การรวมรายการที่เรียงสองรายการก่อนหน้านี้และ การขอให้คุณทำอีกครั้งเป็นการถามคำถามสองคำถามดังนั้นคำถามนี้เป็นขั้นตอน "แยก" ของ DropSort ที่สมบูรณ์ของเราโดยเฉพาะ) อย่างไรก็ตามการจัดเรียงและเนื้อหาของรายการของเราเป็นสิ่งสำคัญ ผลลัพธ์ของโปรแกรมของคุณจะต้องเทียบเท่ากับผลลัพธ์ของ DropSort ตามด้วย DropSort ของค่าที่ถูกทิ้งและอื่น ๆ จนกว่าคุณจะมีรายการของ chain เรียงลำดับเท่านั้น อีกครั้งให้ยืมชุดทดสอบที่มีอยู่ …

30
AlTeRnAtE CaSe
สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่สลับตัวพิมพ์ของสตริง อย่างไรก็ตามคุณต้องละเว้นอักขระที่ไม่ใช่ตัวอักษร ซึ่งหมายความว่าตัวอักษรทุกตัวต้องมีตัวพิมพ์เล็กและใหญ่กว่าตัวอักษรก่อนและหลัง นี่ซับซ้อนกว่าตัวพิมพ์ใหญ่เล็กน้อยเล็กน้อยเช่นกัน ถ้าคุณใช้สายเช่น hello world และแปลงตัวละครอื่น ๆ ให้เป็นตัวพิมพ์ใหญ่คุณจะได้รับ: hElLo wOrLd ในขณะที่คุณสามารถดูตัวพิมพ์เล็กตามด้วยตัวพิมพ์เล็กo wสิ่งนี้ไม่ถูกต้อง แต่คุณต้องเพิกเฉยช่องว่างโดยให้ผลลัพธ์นี้แก่เรา: hElLo WoRlD อักขระที่ไม่ใช่ตัวอักษรทั้งหมดต้องอยู่ในสภาพเดียวกัน เอาต์พุตสามารถเริ่มต้นด้วยตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กตราบใดที่มันสลับกันอย่างสม่ำเสมอ นี่หมายความว่าสิ่งต่อไปนี้จะเป็นผลลัพธ์ที่ยอมรับได้: HeLlO wOrLd โปรแกรมของคุณควรทำงานโดยไม่คำนึงถึงกรณีของอินพุต สตริงอินพุตจะมีASCII ที่พิมพ์ได้เท่านั้นคุณจึงไม่ต้องกังวลเกี่ยวกับอักขระที่ไม่สามารถพิมพ์ได้บรรทัดใหม่หรือ unicode การส่งของคุณอาจเป็นโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นและคุณอาจใช้อินพุตและเอาต์พุตในรูปแบบที่เหมาะสม ตัวอย่างเช่นฟังก์ชันอาร์กิวเมนต์ / ค่าส่งคืน STDIN / STDOUT การอ่าน / เขียนไฟล์ ฯลฯ ตัวอย่าง: ASCII -> AsCiI 42 -> 42 #include <iostream> -> #InClUdE <iOsTrEaM> LEAVE_my_symbols#!#&^%_ALONE!!! …
41 code-golf  string 

25
บอกขนาดคอนโซลของฉันหน่อยสิ!
ขนาดเทอร์มินัลการส่งออก (คอลัมน์และแถว) ในรูปแบบเลขฐานสิบสองใด ๆ * 80x25ยกตัวอย่างเช่นการส่งออกอาจจะ แรงบันดาลใจ รวดเร็ว * เอาต์พุตต้องมีทั้งสองมาตรการในหนึ่งหรือสองบรรทัดติดต่อกันและอาจมีมากกว่าหนึ่งบรรทัดนำหน้าและ / หรือต่อท้ายบรรทัดของเอาต์พุต (ทางเลือกตามด้วยบรรทัดใหม่) บรรทัด (สูงสุดสี่) ต้องไม่เกิน max (cols, 1 + len (str (cols))) + len (str (ro‌ ws))
41 code-golf 

30
อยู่ห่างจากศูนย์
งาน กำหนดเป็นจำนวนเต็มไม่ลบnส่งออก1ถ้าnเป็น0และส่งออกค่าเป็นnอย่างอื่น อินพุต จำนวนเต็มที่ไม่เป็นลบ หากคุณต้องการที่จะยอมรับสตริงเป็น input สตริงจะตรงกับ regex ต่อไปนี้: /^(0|[1-9][0-9]*)$/คือมันต้องไม่มีเลขศูนย์ชั้นนำใด ๆ 0ยกเว้นเมื่อมันเป็น หากคุณยอมรับจำนวนเต็มจริงเป็นอินพุตคุณอาจสมมติว่าจำนวนเต็มนั้นอยู่ภายในขีดความสามารถในการจัดการของภาษา เอาท์พุต จำนวนเต็มบวกที่ระบุข้างต้น ไม่อนุญาตเลขศูนย์นำหน้า ส่งออกของคุณควรจะตรงกับ /^[1-9][0-9]*$/regex Testcases input output 0 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 เกณฑ์การให้คะแนน นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานใช้

30
ตัวเลขนี้เป็นจำนวนเต็มกำลังของ -2 หรือไม่
มีวิธีการที่ชาญฉลาดในการพิจารณาว่าตัวเลขเป็นกำลัง 2 นั่นไม่ใช่ปัญหาที่น่าสนใจอีกต่อไปดังนั้นลองพิจารณาว่าจำนวนเต็มที่กำหนดเป็นกำลังจำนวนเต็ม-2หรือไม่ ตัวอย่างเช่น: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² กฎระเบียบ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานใด ๆ ในการรับอินพุตและจัดเตรียมเอาต์พุต อินพุตของคุณเป็นจำนวนเต็มเดียวและเอาต์พุตต้องเป็นค่าจริงหากจำนวนเต็มเป็นกำลังของเลขจำนวนเต็ม -2 และค่าเท็จเป็นอย่างอื่น ไม่อนุญาตให้ใช้เอาต์พุตอื่น (เช่นข้อความเตือน) ใช้กฎโอเวอร์โฟลว์จำนวนเต็มตามปกติ: วิธีแก้ปัญหาของคุณจะต้องสามารถทำงานกับจำนวนเต็มขนาดใหญ่ตามอำเภอใจในภาษาของคุณ (หรืออาจจะเป็นจริง) ในรูปแบบสมมุติซึ่งจำนวนเต็มทั้งหมดถูก จำกัด โดยค่าเริ่มต้น แต่หากโปรแกรมของคุณล้มเหลวในทางปฏิบัติ ไม่รองรับจำนวนเต็มที่มีขนาดใหญ่ซึ่งไม่ได้ทำให้โซลูชันไม่ถูกต้อง คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น สภาพการชนะ นี่คือการประกวดcode-golf : …

15
ตรวจสอบว่าหมายเลข 2017-friable โดยไม่มีช่วงเวลาในซอร์สโค้ดของคุณ
จากหลายปีที่ผ่านมาฉันได้ทำเรื่องท้าทายนี้ปี 2017 เป็นปีแรกที่มีจำนวนมาก ดังนั้นคำถามจะเกี่ยวกับจำนวนเฉพาะและคุณสมบัติของพวกเขา งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่จะใช้จำนวนเต็มบวกขนาดใหญ่โดยพลการเป็นอินพุตและเอาต์พุตหรือส่งคืนหรือไม่จำนวน2,017-friableนั่นคือไม่ว่าปัจจัยสำคัญที่ใหญ่ที่สุดในจำนวนนั้นคือ 2,017 หรือน้อยกว่า ตัวอย่างอินพุตและเอาต์พุต: 1 (has no prime factors) true 2 (= 2) true 80 (= 2 x 2 x 2 x 2 x 5) true 2017 (= 2017) true 2019 (= 3 x 673) true 2027 (= 2027) false 11111 (= 41 x 271) true …

30
หมายเลขนี้สามารถเขียนในรูปแบบ (3 ^ x) - 1 รูปแบบได้หรือไม่?
ท้าทาย: สร้างโปรแกรมที่ยอมรับจำนวนเต็มบวกและตรวจสอบว่าสามารถเขียนในรูปแบบของ (3 ^ x) -1, โดยที่X เป็นจำนวนเต็มบวกอีกตัว หากเป็นไปได้ให้ส่งออก X ถ้ามันไม่สามารถเอาท์พุท -1 หรือfalsyคำสั่ง ตัวอย่างอินพุต / เอาท์พุต การป้อนข้อมูล: 2 มันสามารถเขียนได้เป็น (3 ^ 1) - 1 ดังนั้นเราจึงเอาท์พุท x ซึ่งก็คือ 1 เอาท์พุท: 1 การป้อนข้อมูล: 26 26 สามารถเขียนเป็น (3 ^ 3) - 1 ดังนั้นเราจึงส่งออก x (3) เอาท์พุท: 3 การป้อนข้อมูล: 1024 1024 ไม่สามารถเขียนในรูปแบบของ (3 ^ …

30
เขียนเครื่องตรวจจับไฮกุ
ไฮกุบทกวีสามบรรทัดกับ 5/7/5 พยางค์นับตามลำดับ ไฮกุ-Wเป็นบทกวีที่มีสามสายมี 5/7/5 คำนับตามลำดับ ท้าทาย เขียนโปรแกรมที่จะคืนค่าจริงถ้าอินพุตเป็นไฮกุ -w และเป็นเท็จถ้าไม่ อินพุต haiku-w ที่ถูกต้องจะต้องประกอบด้วย 3 บรรทัดคั่นด้วยบรรทัดใหม่ บรรทัดที่ 1 จะต้องประกอบด้วย 5 คำแต่ละคำคั่นด้วยช่องว่าง บรรทัดที่ 2 จะต้องประกอบด้วย 7 คำแต่ละคำคั่นด้วยช่องว่าง บรรทัดที่ 3 จะต้องประกอบด้วย 5 คำแต่ละคำคั่นด้วยช่องว่าง ตัวอย่าง The man in the suit is the same man from the store. He is a cool guy. ผลลัพธ์:จริง Whitecaps …

30
Array of Challenges # 1: Alternay Array
อาร์เรย์สำรอง อาร์เรย์สลับเป็นรายการยาว ๆ ในการที่สอง (ไม่จำเป็นต้องแตกต่างกัน) มีค่าสลับ กล่าวคือทุกรายการที่มีการทำดัชนีเท่ากันและรายการที่มีการทำดัชนีทั้งหมดจะเท่ากัน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งเมื่อได้รับรายการจำนวนเต็มบวกผลลัพธ์ / ผลตอบแทนtruthyถ้ามันสลับกันและfalsyอื่น ๆ นี่คือโค้ดกอล์ฟดังนั้นรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ! กรณีขอบ: [] -> True [1] -> True [1,1] -> True [1,2,1] -> True กรณีทดสอบอื่น ๆ : [1,2,1,2] -> True [3,4,3] -> True [10,5,10,5,10] -> True [10,11] -> True [9,9,9,9,9] -> True [5,4,3,5,4,3] -> False [3,2,1,2,1,2] -> …

10
สแควร์, เพชร, สแควร์, เพชร
งาน รับสตริงที่ไม่ว่างของตัวอักษร ASCII ตัวพิมพ์เล็กa- zใช้อักขระตัวแรกและ: ล้อมรอบมันด้วยสำเนาของอักขระที่สอง ล้อมรอบด้วยเพชรสำเนาของตัวละครที่สาม ล้อมรอบด้วยสำเนาสี่เหลี่ยมของตัวละครที่สี่ ... …การสลับระหว่างเส้นขอบสี่เหลี่ยมกับเพชรจนถึงจุดสิ้นสุดของสตริง ช่องว่างระหว่างเส้นขอบควรแทนด้วยช่องว่าง ASCII ( ) ในการเพิ่มเส้นขอบสี่เหลี่ยมให้วาดสี่เหลี่ยมจัตุรัสรอบ“ อาร์เรย์การทำงาน” ปัจจุบันทั้งหมด: sssssssssss t s t s t t s t t s t t s t t s t aaa t s t aaa t s t aca t => st aca ts t …

8
ค้นหาคำที่หมุนวน!
อย่าถามฉันว่าอย่างไรหรือทำไม แต่ในขณะที่เขียนโปรเจคฉันพบว่าตัวอักษรของคำสองคำมีรูปแบบเฉพาะที่เรียกว่าตัวอักษรฉันเชื่อมโยงแต่ละอักขระของคำด้วยดินสอบนตัวอักษรและฉันได้รับสอง เกลียวจากนั้นฉันสังเกตเห็นว่าเกลียวแรกเป็นทวนเข็มนาฬิกาและอีกอันเป็นทวนเข็มนาฬิกาและลักษณะอื่น ๆ ... ดังนั้นฉันจึงตั้งชื่อพวกเขาว่าคำที่หมุนวน ! หมุนของ Wordสามารถ: ตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา ศูนย์กลางหรือแรงเหวี่ยง นี่คือตัวอย่างบางส่วนของคำที่หมุนวน : ภารกิจที่ 1: เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่จะใช้คำหนึ่งคำจากอินพุตมาตรฐานและจะแสดงผลหากเป็นSwirling Wordและคุณลักษณะของมันในรูปแบบที่อ่านได้ข้อความที่ขยายขยายตัวอักษร 3 ตัวธง ฯลฯ กรณีทดสอบและตัวอย่างผลลัพธ์สำหรับคำต่าง ๆ (แต่คุณสามารถตัดสินใจว่าจะแสดงผลลัพธ์อย่างไร): EARTH, GROUP > NO // NOT A SWIRLING WORD OPERA, STAY, IRIS > SW,CF,CW // SWIRLING WORD, CENTRIFUGAL, CLOCKWISE MINER, TAX, PLUG, META > SW,CF,CC // SWIRLING …
41 code-golf  string 

30
Goodness Giza Golf!
"หมายเลข Giza" หรือที่รู้จักกันเรียกขานว่าTimmy Numberคือหมายเลขใด ๆ ที่ตัวเลขแสดงถึงปิรามิด ( A134810 ) ตัวอย่างเช่น "12321" เป็นหมายเลข giza เพราะสามารถมองเห็นเป็นดังนี้: 3 2 2 1 1 อย่างไรก็ตามบางอย่างเช่น "123321" ไม่ใช่หมายเลขกิซ่าเพราะมีสองหลักที่ด้านบนของปิรามิด 33 2 2 1 1 กล่าวอีกนัยหนึ่งตัวเลขคือหมายเลข Giza หากตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: มีเลขคี่เป็นเลขหลักสำคัญและเลขกลางนั้นใหญ่ที่สุด มันเป็น Palindromic (อ่านไปข้างหน้าหรือข้างหลังเดียวกัน) และ ในช่วงครึ่งแรกของตัวเลขจะเพิ่มขึ้นอย่างเข้มงวดโดยหนึ่ง (เนื่องจากต้องเป็น palindromic นี่หมายความว่าครึ่งหลังของตัวเลขจะต้องลดลงอย่างเข้มงวดโดยหนึ่ง) คุณต้องเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกเป็นอินพุตและตรวจสอบว่าเป็นหมายเลข Giza หรือไม่ คุณอาจรับอินพุตเป็นสตริงหรือเป็นตัวเลขก็ได้ หากเป็นหมายเลข Giza ให้ส่งออกค่าจริง มิฉะนั้นค่าเท็จ มีหมายเลขกิซ่าทั้งหมด 45 หมายเลขดังนั้นหนึ่งในอินพุตเหล่านี้ควรส่งผลให้เกิดค่าจริง: …

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