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

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

2
การเปลี่ยนฐานพันธุกรรม
พื้นหลัง ในการท้าทายนี้การแสดงฐานbของจำนวนเต็มnเป็นการแสดงออกของnผลรวมของกำลังbซึ่งแต่ละเทอมเกิดขึ้นได้เกือบทุกb-1ครั้ง ตัวอย่างเช่นการ4เป็นตัวแทนของ2015คือ 4^5 + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3 ตอนนี้ทางพันธุกรรม base- bตัวแทนของnจะได้รับโดยการแปลงเลขยกกำลังเข้าสู่ base- ของพวกเขาbเป็นตัวแทนแล้วแปลงเลขยกกำลังของพวกเขาและอื่น ๆ ซ้ำ ดังนั้น base- ทางพันธุกรรม4เป็นตัวแทนของ2015มี 4^(4 + 1) + 3*4^4 + 3*4^3 + 4^2 + 3*4 + 3 ในฐานะที่เป็นตัวอย่างที่ซับซ้อนมากขึ้นฐานพันธุกรรม - การ3เป็นตัวแทนของ 7981676788374679859068493351144698070458 คือ 2*3^(3^(3 + 1) + 2) + 3 + …


3
ดนตรี: คอร์ดนี้ชื่ออะไร?
นี่คือสิ่งที่ตรงกันข้ามของดนตรี: มีอะไรในคอร์ดนี้? ซึ่งจะพิมพ์บันทึกในคอร์ดที่กำหนด เวลานี้อินพุตคือรายการบันทึกย่อในคอร์ดและงานของคุณคือส่งออกว่าเป็นคอร์ดใด โปรแกรมของคุณควรรองรับคอร์ด triadic ต่อไปนี้ ตัวอย่างให้กับรูตซีคอร์ดกับรูทอื่น ๆ เป็นคอร์ดเดียวกันกับโน้ตทั้งหมดที่หมุนดังนั้น C จะกลายเป็นโน้ตรูทนั้นเช่น Dmaj ประกอบด้วย D, F # และ A C C#D D#E F F#G G#A A#B Db Eb Gb Ab Bb Cmaj C E G Cm C D# G Caug C E G# Cdim C D# F# Csus4 C F …

9
การสั่งซื้ออาร์เรย์เชิงลบจำนวนเต็มศูนย์และบวกด้วยการวนซ้ำหนึ่งครั้ง
ใช้อาร์เรย์ของจำนวนเต็มที่มีจำนวนลบจำนวนบวกและเลขศูนย์ จัดกลุ่มมันด้วยการวนซ้ำหนึ่งครั้งและอยู่ในตำแหน่งที่จำนวนลบทั้งหมดมาก่อนตามด้วยศูนย์ทั้งหมดตามด้วยตัวเลขบวกทั้งหมด ตัวอย่าง: Input: 5, 3, 0, -6, 2, 0, 5 Output: -6, 0, 0, 3, 2, 5, 5 โปรดทราบว่าตัวเลขไม่จำเป็นต้องถูกจัดเรียงอย่างสมบูรณ์เพียงแค่เรียงตามเครื่องหมาย ดังนั้นอาร์เรย์สุดท้ายจะมีลักษณะดังนี้: -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, + กฎระเบียบ คุณสามารถใช้อาร์เรย์อินพุตและหน่วยความจำเพิ่มเติมจำนวนคงที่เท่านั้น (เช่นคุณไม่สามารถสร้างอาร์เรย์ได้อีก) คุณสามารถใช้หนึ่งวงเท่านั้นซึ่งอาจดำเนินการได้หลายครั้งตามความยาวของอาร์เรย์ คุณไม่สามารถใช้ฟังก์ชั่นในตัวที่ปิดบังการวนลูปได้ทุกชนิด ซึ่งรวมถึงฟังก์ชั่นการเรียงลำดับในตัว ผลลัพธ์ควรอยู่ในรูปแบบที่ฉันอธิบาย ผู้ชนะจะเป็นคนที่จะส่งรหัสที่สั้นที่สุด (นับเป็นไบต์) ที่เปลี่ยนอาร์เรย์เริ่มต้นเป็นรูปแบบที่ถูกต้อง (เช่นที่อธิบายข้างต้น)

4
ภัณฑารักษ์ของภัณฑารักษ์
บทนำ คุณเป็นเพื่อนของภัณฑารักษ์พิพิธภัณฑ์ศิลปะการที่ได้มีความสุขที่ผ่านมาของการได้รับงานศิลปะสมัยใหม่จากสี่ศิลปิน ( ซึ่งบางส่วนอาจจะให้ผู้ดูแลศูนย์ชิ้นงานศิลปะ, วายร้ายหนุ่ม ) เนื่องจากนี่คือศิลปะสมัยใหม่ชิ้นส่วนของศิลปินที่ได้รับจึงมีลักษณะเหมือนกันทุกประการ เพื่อนของคุณต้องการใช้คอมพิวเตอร์เพื่อช่วยตัดสินใจว่าจะสั่งซื้อชิ้นส่วนเหล่านี้ได้อย่างไร ข้อกำหนดของโปรแกรม โปรแกรมของคุณต้องใช้จำนวนเต็มห้าจำนวน (ส่งผ่านไปยังฟังก์ชันหรือป้อนผ่าน stdin (หรืออีกวิธีหนึ่ง)) สี่คนแรกคือจำนวนภาพวาดที่จัดทำโดยศิลปินสี่คนแต่ละคน ค่าสุดท้ายคือดัชนีการเปลี่ยนแปลงi(นับจาก 1 ไม่ใช่ 0) ภัณฑารักษ์มีความประสงค์ที่จะเห็นการiเรียงสับเปลี่ยนลำดับตามคำสั่งของภาพเขียน โปรแกรมต้องออกของคุณเปลี่ยนแปลงนี้ในรูปแบบใด ๆ ที่เหมาะสม: เช่นหรือabbccd [0 1 1 2 2 3]รันไทม์สำหรับการป้อนข้อมูลที่รวมจำนวนภาพน้อยกว่าสิบภาพต้องใช้เวลาน้อยกว่าหนึ่งชั่วโมง (หวังว่าจะไม่มีปัญหา) คุณไม่ได้รับอนุญาตให้ใช้ฟังก์ชั่นใด ๆ ที่สร้างขึ้นเพื่อเปลี่ยนวิธีเรียงสับเปลี่ยน ตัวอย่าง อินพุต: 0 1 2 0 2 เนื่องจากเรามีหนึ่งภาพวาดโดยศิลปิน B และสองโดยศิลปิน C (และพวกเขาทั้งหมดเหมือนกัน), เรียงลำดับตามลำดับคำศัพท์คือ: [ 'สำเนาลับ', ' CBC …

3
ส่วนประกอบที่เชื่อมต่อ 3x3
ความท้าทาย พิจารณากริดคิง 3x3 ดังที่แสดงในกราฟิก ASCII ต่อไปนี้: A--B--C |\/|\/| |/\|/\| D--E--F |\/|\/| |/\|/\| G--H--I คุณจะได้รับรายการอินพุตจำนวนเต็ม -9 ที่เป็นตัวแทนของการติดฉลากของโหนด ตัวอย่างเช่นอินพุต[0,1,1,2,1,0,5,5,1]แสดงถึงการติดฉลากต่อไปนี้: 0--1--1 |\/|\/| |/\|/\| 2--1--0 |\/|\/| |/\|/\| 5--5--1 เอาต์พุตของคุณคือชุดของจำนวนเต็มในอินพุตที่เชื่อมโยงกับชุดโหนด อย่างชัดเจนยิ่งขึ้นเอาต์พุตควรมีจำนวนเต็มnจากอินพุตถ้าหากnเชื่อมต่อชุดของโหนดที่มีเลเบลแล้วเท่านั้น ในตัวอย่างนี้เอาต์พุตที่ยอมรับได้จะเป็น[1,2,5]เพราะทั้งสอง0ไม่ได้เชื่อมต่อ จำนวนไบต์ต่ำสุดชนะ กฎรายละเอียด คุณสามารถเลือกการสั่งซื้อคงที่สำหรับโหนดในรายการอินพุตของคุณและคุณควรระบุสิ่งนี้ในคำตอบของคุณ ใน EFBDHCAGI [1,0,1,2,5,1,0,5,1]การสั่งซื้อการติดฉลากที่ข้างต้นจะได้รับเป็น คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น ในกรณีหลังเอาท์พุทสามารถเป็นชุดของจำนวนเต็มถ้าภาษาของคุณสนับสนุนเหล่านั้น รายการผลลัพธ์อาจมีรายการที่ซ้ำกัน แต่ความยาวของรายการต้องไม่เกิน 9 ช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ ตัวเลขเหล่านี้มีตัวเลขหลักเดียวที่สอดคล้องกับตาราง ปรับให้เข้ากับคำสั่งที่คุณเลือก 011 210 => 1 2 5 551 010 …

3
พิมพ์จุดตัดของลำดับ
ลำดับ คุณจะได้รับสี่ลำดับหมายเลขหมายเลขผ่าน14 OEISตำแหน่งของ0เมื่อตัวเลขธรรมชาติแสดงเป็นเลขฐานสอง นี่คือตัวอย่างของวิธีการคำนวณลำดับ: 0,1,10,11,100,101,110,111 ^ ^ ^^ ^ ^ 0 3 78 10 14 การเริ่มต้นของลำดับเป็นดังนี้: 0, 3, 7, 8, 10, 14, 19, 20, 21, 23, 24, 27, 29, 31, 36, 37, 40, 45, 51, ... OEISลำดับนี้รวมถึงหมายเลขธรรมชาติแรกข้ามสองถัดไปจากนั้นรวมสามถัดไปแล้วข้ามสี่ถัดไปและดำเนินการต่อ 0, 3, 4, 5, 10, 11, 12, 13, 14, 21, 22, 23, 24, …

11
ค้นหาคู่ของตัวเลขด้วย LCM และ GCD ที่เจาะจง
ฉันทำงานกับคำถามทางคณิตศาสตร์กับเพื่อนของฉันและเราตัดสินใจที่จะเขียนสคริปต์ที่ค้นหาคำตอบ คำถามเดิมมีดังนี้: ความแตกต่างของจำนวนธรรมชาติสองตัวคือ 2010 และตัวส่วนร่วมที่ยิ่งใหญ่ที่สุดของพวกเขาคือ 2014 มีขนาดเล็กกว่าคูณสามัญต่ำสุดของพวกเขา ค้นหาโซลูชันที่เป็นไปได้ทั้งหมด เราเริ่มเขียนโปรแกรมเป็นอิสระจากกันและเมื่อมันทำงานเราก็ตัดสินใจที่จะตีกอล์ฟขึ้นเพื่อให้ได้จำนวนไบต์น้อยที่สุดที่เราสามารถจัดการได้ เราลงเอยด้วยรหัสที่สวยงามขนาด 89 ไบต์ from fractions import*;print[i for i in range(10**6)if i*(i+2010)/gcd(i,i+2010)**2==2014] เราต้องการที่จะดูว่าใคร ๆ ก็สามารถเขียนโค้ดที่สั้นกว่านี้ได้หรือไม่นั้นนับ 1 ล้านตัวแรกของฉัน หากคุณกล้าพอที่จะแข่งขันคุณอาจใช้ภาษาใดก็ได้ที่คุณชอบ แต่เราอยากให้ Python 2 เปรียบเทียบโค้ดของคุณกับเราได้ ใช้กฎแบบปกติไบต์ที่สั้นที่สุดจะชนะ ใช้ช่องโหว่ของรหัสมาตรฐาน "ช่องโหว่" มาตรฐานซึ่งไม่ตลกอีกต่อไป มีความสุข!
9 code-golf  math 

4
แยกตัวเลขออกเป็นผลรวมของ repdigits
Repdigits เป็นตัวเลขของแบบฟอร์มa * (10^n - 1)/9ด้วย a in [-9,9]\{0}(ในคำอื่น ๆ 111, -3333, 66, ตัวเลขที่ทำโดยการทำซ้ำเพียงหนึ่งหลัก) ประตู:เขียนโปรแกรมหรือฟังก์ชั่นซึ่งจะเป็นจำนวนเต็มบวกเดียวและภาพพิมพ์N N = s_1 + s_2 + ... + s_kควรมีหนึ่งหมายเลขต่อบรรทัดและหมายเลขจะต้องจัดชิดขวา ไม่มีการสรุปสองครั้งควรมีตัวเลขเท่ากันและไม่อนุญาตให้เพิ่มศูนย์ เอาต์พุตควรเรียงลำดับจากน้อยไปมากหรือมากไปน้อย (ตามจำนวนหลัก) ตัวอย่าง: in: 24192 out: 24192 = 22222 + 2222 - 222 - 33 + 3 in: 24192 out: -7 -22 +888 +1111 +22222 …

5
Hole 2 - Prime Quine
ค้นหาหลุม 1 ที่นี่ สร้างควินที่เมื่อรันจะบล็อกเอาต์พุตของซอร์สโค้ดของตัวเองหลายครั้ง ในความเป็นจริงมันจะต้องส่งออกมัน n ครั้งโดยที่ n ในจำนวนเฉพาะถัดไป ฉันคิดว่าตัวอย่างแสดงให้เห็นว่าดีที่สุด [MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] [MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE][MY QUINE] แต่ละโปรแกรมจะส่งออก "บล็อก" ฐานของมัน (ดังนั้น [MY QUINE]) จำนวนเฉพาะครั้งถัดไป …

6
ดักหนูของ Michael Crichton
ในปี 1984 Michael Crichton เขียนโปรแกรมความปลอดภัยใน BASIC ที่ตีพิมพ์ในนิตยสาร Creative Computing โปรแกรมจะขอให้ผู้ใช้พิมพ์วลีที่ต้องการบันทึกช่วงเวลาระหว่างการกดแป้นจากนั้นขอให้เธอพิมพ์วลีอีกครั้ง หากการกำหนดเวลาแตกต่างกันมากเกินไปโปรแกรมจะระบุผู้ใช้ว่าเป็นผู้แอบอ้าง การมอบหมายของคุณ: สร้างโปรแกรมของ Crichton ในภาษาที่คุณเลือก กฎ: วลีสำหรับการสื่อสารกับผู้ใช้ ("โปรดพิมพ์วลีสำคัญ" "โปรดพิมพ์วลีสำคัญอีกครั้ง" ฯลฯ ) นับเป็นหนึ่งไบต์โดยไม่คำนึงถึงความยาวจริง นี่ใช้สำหรับการสื่อสารของผู้ใช้เท่านั้นอย่าพยายามซ่อนรหัสโปรแกรมในสตริง การทดสอบผ่าน / ไม่ผ่านควรขึ้นอยู่กับค่าสัมบูรณ์โดยเฉลี่ยของผลต่างเปอร์เซ็นต์จากช่วงเวลาเดิม หากสตริงไม่ตรงกันให้ส่งคืนข้อผิดพลาดหรืออนุญาตให้ผู้ใช้ลองอีกครั้งตามดุลยพินิจของคุณ วลีที่สำคัญไม่ควรอนุญาตให้มีสตริงที่เป็นโมฆะ ในกรณีที่วลีสำคัญยาวเกินไปสำหรับประเภทข้อมูลสตริงของคุณให้ตัดหรือไม่อนุญาตและเริ่มต้นใหม่ตามดุลยพินิจของคุณ ความไวของการทดสอบ (เกณฑ์สำหรับการทดสอบผ่าน / ไม่ผ่าน) ควรปรับได้ในซอร์สโค้ด เดิมฉันได้ให้โบนัส 20% ของจำนวนไบต์ทั้งหมดหากซอร์สโค้ดของคุณสามารถจัดรูปแบบให้คล้ายไดโนเสาร์ได้ มีการชี้ให้เห็นว่านี่เป็นเรื่องส่วนตัวและอาจเหมาะสมกว่าสำหรับการประกวดความนิยมดังนั้นฉันจึงลบโบนัสนี้ออกไป อย่างไรก็ตามฉันยังคงสนับสนุนการจัดรูปแบบไดโนเสาร์อย่างเต็มที่และหากคุณจัดรูปแบบรหัสของคุณให้ดูเหมือนไดโนเสาร์คุณสามารถหักความคิดเห็นเกี่ยวกับความงามเครื่องสำอางค์ตัวละคร Linebreak หรือ Whitespace จากจำนวนไบต์ทั้งหมดของคุณได้ การนับจำนวนไบต์ที่สั้นที่สุดขึ้นอยู่กับการปรับการจัดรูปแบบความยาวสตริงและไดโนเสาร์ โปรดทราบว่าข้อกำหนดของฉันข้างต้นไม่ตรงกับการทำงานของรหัสของ Crichton สำเนาซึ่งอาจพบได้ทางออนไลน์ ทำตามสเป็คอย่าพยายามโคลนต้นฉบับ
9 code-golf 

14
ปีอะไร
มันคือเดือนธันวาคม 2014 และ 2015 เกือบจะเริ่มแล้ว อย่างไรก็ตามดูเหมือนว่าทุกคนจะไม่ได้ตระหนักถึงสิ่งนี้ แต่ผู้คนใน PPCG ก็มาช่วยด้วย! อินพุต โปรแกรมของคุณได้รับกริดเช่นเดียวกับกำแพงซึ่งวันที่ในเดือนธันวาคมนั้นดูแตกต่างจากเดือนพฤศจิกายนและมกราคม แต่ละสัปดาห์เริ่มต้นด้วยวันอาทิตย์และสิ้นสุดด้วยวันเสาร์ #วันภายในเดือนที่มีการแสดงโดย วันที่อยู่นอกเดือนนั้นจะถูกแทนด้วย(ช่องว่างรหัส ASCII 32) แต่ละสัปดาห์อยู่บนบรรทัดแยก บรรทัดถูกคั่นด้วยอักขระบรรทัดใหม่ ( \n) โปรแกรมของคุณอาจต้องการ ommission หรือการขึ้นบรรทัดใหม่เมื่อสิ้นสุดการป้อนข้อมูล ตัวอย่างเช่นนี่คืออินพุตสำหรับเดือนธันวาคม 2009: ##### ####### ####### ####### ##### ปฏิทินอยู่ในเดือนธันวาคมเสมอ งาน เมื่อป้อนข้อมูลคุณจะต้องค้นหาปีที่เกี่ยวข้องกับปฏิทิน เนื่องจากมีหลายปีที่การจับคู่ปฏิทินคุณต้องส่งคืนปี (ก่อนปี 2015) ที่ใกล้เคียงกับปี 2015 มากที่สุด (ไม่รวมปี 2015 เอง) โปรแกรมของคุณจะต้องสร้างผลลัพธ์ที่ถูกต้องสำหรับปีใด ๆ <2015 ไม่รวมรายการที่มีรูปแบบปฏิทินสำหรับเดือนธันวาคมซึ่งเท่ากับปีถัดไป (ก่อน 2015) ใกล้กับปี 2558 …

1
หมายเหตุถึง Tablature
ท้าทาย รับรายการบันทึกย่อคุณจะต้องส่งคืนแท็บที่สอดคล้องกัน หมายเหตุ บันทึกจะต้องอยู่ในช่วงของ A ถึง G รวมและช่วงอ็อกเทฟเป็น 2 ถึง 6 รวม รูปแบบเป็นโน้ตคู่ที่มี#ความคมชัดและbเป็นตัวแทนของแบน เช่น: หรือA7F#3 แท็บ Tablature เป็นวิธีการเขียนเพลงโดยใช้แผนภาพเป็นตัวแทนของเครื่องดนตรี มันมักจะแสดงเป็นห้าบรรทัดด้วยตัวเลขในพวกเขา ตัวเลขที่เขียนบนเส้นแสดงถึงความไม่สบายใจที่ใช้เพื่อให้ได้ระดับเสียงที่ต้องการ ตัวอย่างเช่นหมายเลข 3 ที่เขียนไว้ที่บรรทัดบนสุดของเจ้าหน้าที่ระบุว่าผู้เล่นควรกดที่หงุดหงิดที่สามของ E สูง (สตริงแรก) Number 0 หมายถึง nut - นั่นคือสตริงเปิด หมายเลข Fret อาจไม่มากกว่า 22 และกีตาร์หกสาย tablature จะต้องอยู่ในรูปแบบ ASCII มาตรฐาน คุณต้องไม่รวมตัวบ่งชี้เทคนิคใด ๆ (เปิดค้อนสไลด์ ฯลฯ ) คั่นแต่ละโน้ตด้วยห้าขีดกลาง ในกรณีที่เป็นเลขสองหลักให้ลดจำนวนขีดกลางเป็นสี่ จุดเริ่มต้นของแท็บควรมีลักษณะดังนี้: e …

15
ผลรวมของสตริงโดยไม่ต้องแปลง
คุณต้องรับอินพุตสตริง 2 ตัวและแสดงผลรวมของสองสตริงโดยไม่แปลงเป็น int หรือใช้ชนิดข้อมูลตัวเลขใด ๆ อดีต string one = "123"; string two = "456"; string sum = "579"; สมมติว่าสายจะไม่ใหญ่กว่า 10 หลัก นี่คือรหัสกอล์ฟและคำตอบที่สั้นที่สุดในตัวละครชนะ การแก้ไขคำตอบใน C # จะทำให้ฉันยิ้มได้ :) แก้ไข: การแปลงเป็น int สามารถกำหนดเป็นอะไรก็ได้ในลักษณะนี้ Int.TryParse, (int), Convert.ToIntฯลฯ

3
สร้างการเอียง Fibonacci ที่ถูกต้อง
พื้นหลัง การเรียงลำดับ Fibonacci เป็นการเรียงต่อกันของบรรทัด (1D) โดยใช้สองส่วน: อันสั้น, S , และอีกอันยาว, L (อัตราส่วนความยาวของพวกเขาคืออัตราส่วนทองคำ แต่ไม่เกี่ยวข้องกับความท้าทายนี้) สำหรับการปูกระเบื้องโดยใช้ prototiles ทั้งสองนี้จริง ๆ แล้วจะเป็นการเรียงแบบ Fibonacci, เงื่อนไขต่อไปนี้จะต้องปฏิบัติตาม: มุงหลังคาไม่ต้องมี subsequence เอสเอส มุงหลังคาไม่ต้องมี subsequence LLL หากการเรียงต่อกันใหม่ถูกสร้างขึ้นโดยดำเนินการการทดแทนต่อไปนี้ทั้งหมดผลลัพธ์จะต้องยังคงเป็นการเรียงแบบ Fibonacci: LL → S S → L L → (สตริงว่าง) ลองดูตัวอย่าง: SLLSLLSLLSLS ดูเหมือนว่าการเรียงไฟล์ที่ถูกต้องเพราะมันไม่มี * S * s หรือสาม * L * s สองอัน …

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