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

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

3
สร้างอินพุตไมโครเวฟที่ขี้เกียจ
ที่เกี่ยวข้อง: โปรแกรมไมโครเวฟเตาอบของฉันและสร้างค่าขี้เกียจ เพื่อนร่วมงานของฉันขี้เกียจมากจนเขาไม่อยากขยับนิ้วเมื่อเขียนโปรแกรมเตาไมโครเวฟ (นี่เป็นเรื่องจริง!) ช่วยเขาค้นหาอินพุตไมโครเวฟที่ให้เวลาใกล้เคียงกับสิ่งที่เขาต้องการมากที่สุด แต่ตัวเลขทั้งหมดเหมือนกัน หากอินพุตสองรายการส่งผลให้เกิดความแตกต่างในเวลาเดียวกันจากเวลาที่ต้องการ หากทั้งคู่มีจำนวนหลักเท่ากันให้เลือกน้อยกว่าดังนั้นเขาไม่ต้องรอนาน อินพุตเป็นจำนวนเต็มที่ผู้ใส่สิ่งมีค่านิยมจะป้อนเช่น4304 นาทีและ 30 วินาทีในขณะที่100และ60แต่ละครั้งคือ 1 นาที มันจะมากกว่า 0 และจะไม่เกิน 9999 ผลลัพธ์จะต้องเป็นจำนวนเต็มเช่น4444 นาทีและ 44 วินาทีและ5555 วินาที ทั้งอินพุทและเอาท์พุทอาจใช้เวลาเพียงไม่กี่วินาที (ไม่กี่นาที) หากเวลาทั้งหมดต่ำกว่า 1 นาทีและ 40 วินาที นี่คือรหัสกอล์ฟดังนั้นรหัสของคุณจะต้องสั้นที่สุด กรณีทดสอบ: 30 → 33 60 → 55 70 → 111 90 → 88 100 → 55 101 → 66 …
18 code-golf  number  date 

1
จำนวนเต็มของทราย
ท้าทาย คุณจะได้รับจำนวนเต็มบวกnเป็นอินพุต ผลผลิตควรเป็นทรายคล้ายปิรามิดที่สร้างขึ้นตามกฎที่ระบุด้านล่าง: จำนวนเต็มแต่ละ "ตก" ลงจากจุดเริ่มต้นเดียวกันเหมือนทรายที่ตกลงไปในรูปกรวย ตัวเลขที่มากกว่าตัวเลขด้านล่างเมื่อสัมผัสกับกองทรายจะตกลงไปทางขวาหากทำได้ ตัวเลขที่น้อยกว่าตัวเลขที่อยู่ด้านล่างเมื่อสัมผัสกับกองทรายจะตกลงไปทางซ้ายถ้าทำได้ ตัวเลขเท่ากับจำนวนที่อยู่ด้านล่างเมื่อสัมผัสกับกองทรายจะอยู่ในตำแหน่ง ตัวเลขสามารถลดลงไปทางซ้าย / ขวาหากพวกเขาสามารถเลื่อนลงและไปทางซ้าย / ขวาตามลำดับ นั่นคือถ้ามีตัวเลขด้านล่างและทางซ้าย / ขวาแล้วขึ้นอยู่กับทิศทางจำนวนที่ลดลงในปัจจุบันจะไม่ย้าย จำนวนจะยังคงเกลือกกลิ้งกองทรายจนกระทั่งไม่สามารถเคลื่อนย้ายไปยังตำแหน่งต่อไปหรือชนพื้น หมายเหตุ การตรวจสอบการเปรียบเทียบเบื้องต้นจะใช้กับจำนวนเต็มที่พบเป็นครั้งแรกเท่านั้นไม่ใช่สำหรับการเผชิญหน้าแต่ละครั้งอย่างต่อเนื่องเนื่องจากจะทำให้กองทรายลง ช่องว่างต่อท้ายไม่เป็นไร แต่การขึ้นบรรทัดใหม่ไม่ใช่ ไม่มีช่องว่างนำหน้าหรือบรรทัดใหม่ยกเว้นที่จำเป็นเพื่อรักษาโครงสร้างของทราย คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบได้ คุณอาจสันนิษฐานว่าการป้อนข้อมูลจะมีเพียงบางส่วน[0-9]เท่านั้น รหัสนี้เป็นรหัสกอล์ฟรหัสสั้นที่สุดเป็นไบต์จะถูกทำเครื่องหมายว่าเป็นผู้ชนะโดยIdes of March ตัวอย่าง 1 1 12345 35 124 54321 13 245 555444333222111 2 2 2 135 1345 13445 111222333444555 4 4 4 135 1235 …
18 code-golf  math  number 

12
คำนวณปริมาตรของวัตถุ
คุณสามารถกำหนดปริมาณของวัตถุตามชุดมิติที่กำหนด: ปริมาตรของทรงกลมสามารถกำหนดได้โดยใช้หมายเลขเดียวรัศมี ( r) ปริมาตรของทรงกระบอกสามารถกำหนดได้โดยใช้สองตัวเลขรัศมี ( r) และความสูง ( h) ปริมาณของกล่องสามารถกำหนดได้โดยใช้ตัวเลขสามตัวความยาว ( l) ความกว้าง ( w) และความสูง ( h) ปริมาตรของปิรามิดรูปสามเหลี่ยมไม่สม่ำเสมอสามารถกำหนดได้โดยใช้ตัวเลขสี่ตัวความยาวด้าน ( a, b, c) และความสูง ( h) ความท้าทายคือการกำหนดปริมาณของวัตถุที่กำหนดหนึ่งในอินพุตต่อไปนี้: ตัวเลขเดี่ยว(r)หรือ(r, 0, 0, 0)=>V = 4/3*pi*r^3 ตัวเลขสองตัว(r, h)หรือ(r, h, 0, 0)=>V = pi*r^2*h ตัวเลขสามตัว(l, w, h)หรือ(l, w, h, 0)=>V = l*w*h ตัวเลขสี่ตัว(a, …

23
สร้างบิตพาริตี
บิตพาริตีเป็นหนึ่งในรูปแบบที่ง่ายที่สุดของการตรวจสอบ ขั้นแรกคุณต้องเลือกพาริตี้แม้กระทั่งหรือคี่ สมมติว่าเราเลือกได้ ตอนนี้เราต้องการข้อความที่จะส่ง สมมติว่าข้อความของเราคือ "Foo" สิ่งนี้เขียนในรูปแบบไบนารี่เป็น: 01000110 01101111 01101111 ตอนนี้เรานับจำนวนทั้งหมดของ1ที่นั่นนั่นคือ 15 เนื่องจาก 15 เป็นเลขคี่เราจะต้องบวกหนึ่งบิตเพิ่มเข้าไปที่ส่วนท้ายของข้อความของเราและตอนนี้เราจะมีจำนวนบิต 'บน' . บิตที่เพิ่มล่าสุดนี้เรียกว่า "บิตพาริตี" หากเราเลือกพาริตี้คี่สำหรับเช็คซัมของเราเราจะต้องเพิ่มพิเศษ '0' เพื่อให้จำนวนบิตบนยังคงแปลก ความท้าทาย: คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดบิตพาริตี้ที่ถูกต้องสำหรับสตริง โปรแกรมของคุณจะต้องมีสองอินพุต: sสตริง, นี่คือข้อความที่จะทำการคำนวณการตรวจสอบ สิ่งนี้จะถูก จำกัด ไว้ที่ 95 อักขระ ASCII ที่พิมพ์ได้ อักขระหรือสตริงอักขระเดี่ยวpที่จะเป็นแบบeพาริตีคู่หรือoสำหรับพาริตีคี่ และสร้างค่าความจริงที่เป็นเท็จซึ่งแสดงถึงบิตพาริตีที่ถูกต้อง Truthy ถ้าเป็น1และ falsey 0ถ้ามันเป็น ไม่อนุญาตให้ใช้บิวด์อินที่นับจำนวนบิต "บน" ในสตริงหรืออักขระ ตัวอย่างเช่นฟังก์ชั่นfที่ทำสิ่งนี้: f('a') == 3หรือf('foo') == 16ถูกแบน สิ่งอื่นใดเช่นการแปลงฐานเป็นเกมที่ยุติธรรม …

15
การผสานสองสตริง
บทนำ สมมติว่าS 1 = a...bและS 2..c.. = ถ้าเราวางมันไว้บนสุดของกันและกันเราจะได้: a...b ..c.. เรารวมสตริงทั้งสองโดยมีอักขระ.เป็นของเหลว (ซึ่งสามารถทับซ้อนกัน) เราได้รับสิ่งนี้: a.c.b หากสตริงตัวใดตัวหนึ่งยาวกว่าอีกตัวเราจะใช้อัลกอริทึมแบบเดียวกัน: a.....b ..c.. becomes: a.c...b และ a.....b ..c....... becomes: a.c...b... หากตัวละครสองตัวชนกันเราแค่ใช้ตัวอักษรล่างเช่น a..b ...c becomes: a..c งาน กำหนดสตริงที่ไม่ว่างสองสตริงเอาต์พุตสตริงที่ผสาน หมายเหตุคุณสามารถสรุปได้ว่าการป้อนข้อมูลที่มีเพียงระยะเวลาและตัวพิมพ์เล็ก (หรือตัวอักษรพิมพ์ใหญ่ถ้าเป็นความสะดวกมากขึ้น) กรณีทดสอบ Input Output a....b ..c... a.c..b aaaaaa bbbbbb bbbbbb ab.ab. b.b.b. bbbab. a.......b c c.......b นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!
18 code-golf  string 

5
เติมตัวอักษรเป็นรู
บางครั้งเมื่อฉันเบื่อฉันใช้ข้อความและกรอก "ช่อง" ในตัวอักษร แต่ไม่ได้เติมสิ่งที่น่าเบื่อที่สุดที่คุณทำได้? ฉันคิดว่าเราควรทำให้เป็นอัตโนมัติดังนั้นเราจึงสามารถใช้เวลาของเราให้ดีขึ้นได้ ใช้กฎมาตรฐานของกอล์ฟ อินพุต สตริงที่มีลำดับของตัวอักษรและตัวเลข (az, AZ, 0-9) และช่องว่าง เอาท์พุต รูปภาพประกอบด้วยสตริงที่เรนเดอร์และมีรูเต็ม คุณสามารถใช้แบบอักษรใด ๆ ที่มนุษย์สามารถอ่านได้ตราบเท่าที่ยังต้องการการเติมช่องว่าง คุณสามารถบันทึกภาพเป็นไฟล์i.png(ในรูปแบบ png) หรือเพียงแค่แสดงภาพ คุณสมบัติรูปภาพ: ข้อความสีดำ พื้นหลังสีขาวหรือโปร่งใส การขยายความ: ขนาดของรูปภาพสามารถมีขนาดได้สูงสุดสองเท่าของขนาดข้อความ การขยายควรมีสีเดียวกับพื้นหลังทั้งสีขาวหรือโปร่งใส ตัวอย่าง การป้อนข้อมูล: Example text เอาท์พุท:

6
ขยายชวเลขและเพิ่มลำดับจำนวนเต็ม
กำหนดอินพุตของรายการตัวเลขในรูปแบบของลำดับเลขชวเลขและเพิ่มจำนวนเต็มออกลำดับในเต็ม ชวเลขลำดับเพิ่มขึ้นจํานวนเต็มรูปแบบผลงานโดยการหาทุกจำนวนn ด้วยตัวเลขน้อยกว่าจำนวนก่อนมัน เมตร ด้วยdเป็นจำนวนของตัวเลขในnสุดท้ายdหลักเมตรจะถูกแทนที่ด้วยตัวเลขของทั้งหมด n นี่คือตัวอย่างอินพุต: 123 45 6 7 89 200 เมื่อใช้กฎการเปลี่ยนเราจะเปลี่ยน 45 เป็น 145 เพราะ 45 <123: 123 145 6 7 89 200 ใช้กฎเดียวกันซ้ำ ๆ นี่จะกลายเป็น: 123 145 146 7 89 200 123 145 146 147 89 200 123 145 146 147 189 200 ตอนนี้มีการเรียงลำดับ (ไม่มีตัวเลขที่ใช้กฎ) ดังนั้นนี่คือผลลัพธ์สุดท้าย …
18 code-golf 

4
จำนวนเต็มสูญเสียเดี่ยว ๆ : ลำดับที่ต่อกันขาดองค์ประกอบเดียว
ฉันกำหนดวิธีการรวมลำดับเพื่อหมายถึงว่าทุกหมายเลขในลำดับนั้นเรียงต่อกันเป็นสตริงจากนั้นผลลัพธ์นั้นจึงเป็นจำนวนเต็ม [1, 2, 3] -> 123 สำหรับทุกลำดับที่ จำกัด อย่างน้อย 3 จำนวนเต็มติดต่อกันหายไปหนึ่งองค์ประกอบในลำดับและองค์ประกอบที่ขาดหายไปนี้อาจไม่ได้เป็นองค์ประกอบแรกหรือครั้งสุดท้ายในลำดับเอาท์พุทจำนวนเต็มที่เกิดจากลำดับรวมกัน ฉันหมายถึงสิ่งนี้ว่า "จำนวนเต็มสูญเสียโดยลำพัง" [1, 2, 3] -> {1, 3} (missing an element) -> 13 ลำดับของจำนวนเต็มที่สูญเสียโดยลำพังนี่คือการรวมกันขององค์ประกอบต่อไปนี้ (พาร์ติชัน?): subsequence แรก{n, n+2}คือA032607 {n, n+2} -> 13, 24, 35, 46, 57, 68, 79, 810, 911, 1012, ... {n, n+1, n+3} -> 124, 235, 346, …

4
วันที่บีบอัดของสัปดาห์
กำหนดอินพุตของรายการวันในสัปดาห์เอาท์พุทการเรียงลำดับที่สั้นที่สุดของรายการ รูปแบบของการป้อนข้อมูลที่เป็นสตริงประกอบด้วยหนึ่งหรือมากกว่าของสตริงสองตัวอักษรSu(วันอาทิตย์), Mo(วันจันทร์) Tu( ฯลฯ ) We, Th, และFr Saอินพุตอาจไม่จำเป็นต้องถูกจัดเรียงตามลำดับ ในการแปลงอินพุตเป็นรูปแบบเอาต์พุต จัดเรียงอินพุตตามวันในสัปดาห์โดยเริ่มจากวันอาทิตย์ (เช่นThMoSaSuFrTuWe-> SuMoTuWeThFrSa) ลดตัวย่อลงไปหนึ่งตัวอักษรถ้ามันไม่มีใบความคลุมเครือ ตัวอย่างเช่นSuMoTuWeควรเป็นSMTWเพราะ S ตัวแรกไม่สามารถเป็นวันเสาร์ได้เนื่องจากจะทำให้เอาต์พุตไม่ได้เรียงลำดับ (เหมือนกันสำหรับ T) อย่างไรก็ตามThFrSaควรเป็นThFSเช่นวันอังคารและวันพฤหัสบดีมาก่อนวันศุกร์และลดลงเพื่อTFSสร้างความกำกวม หากเอาท์พุทเป็นตอนนี้MTWTFเอาท์พุทDแทน (ซึ่งหมายถึง "สัปดาห์วัน ") ในทำนองเดียวกันSSควรจะเป็นEสำหรับสัปดาห์สิ้นสุด ในที่สุด SMTWTFSควรกลายเป็นAสำหรับทุกวัน ทั้งอินพุตและเอาต์พุตต้องเป็นสตริงเดี่ยว เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ กรณีทดสอบ: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | …

6
แยก RNA ลงใน codons
บทนำ RNA เป็นลูกพี่ลูกน้องที่มีชื่อเสียงน้อยกว่าของ DNA วัตถุประสงค์หลักคือการควบคุมการผลิตโปรตีนในเซลล์ผ่านกระบวนการที่เรียกว่าการแปล ในความท้าทายนี้งานของคุณคือการดำเนินการเป็นส่วนหนึ่งของกระบวนการนี้ที่อาร์เอ็นเอที่มีการแบ่งเป็นcodons ความท้าทายนี้เกี่ยวข้องกับหัวเรื่อง แต่มุ่งเน้นที่ส่วนอื่นของกระบวนการแปล codons เราจะคิดว่า RNA เป็นสายยาวกว่าตัวอักษรของคู่ฐาน, AUCG. ในการแปล RNA ถูกแบ่งออกเป็นกลุ่มที่ไม่ทับซ้อนกันของคู่ฐานสามคู่ที่เรียกว่า codons กระบวนการเริ่มต้นที่codon เริ่มต้น , AUGและสิ้นสุดที่หยุด codon , หนึ่งUAA, หรือUAG UGAโคดอนแต่ละตัว (ยกเว้นสต็อปแบบหยุด) ตรงกับกรดอะมิโนและสตริงที่เกิดจากกรดอะมิโนจะเป็นโปรตีน อินพุต ข้อมูลที่คุณป้อนเป็นสตริงที่ไม่ว่างของ RNA เอาท์พุต เอาต์พุตของคุณคือรายการของ codons ที่ RNA ถูกแบ่งในรูปแบบที่เหมาะสม ในรูปแบบที่เรียบง่ายนี้กระบวนการเริ่มต้นที่codon เริ่มซ้ายสุดAUGซึ่งรวมอยู่ในผลลัพธ์ มันจะสิ้นสุดลงเมื่อพบกับการหยุด codon หรือเมื่อเราไม่มี RNA หากอินพุตไม่มีโค้ดเริ่มต้นเอาต์พุตจะเป็นรายการว่างเปล่า ตัวอย่าง พิจารณาลำดับการป้อนข้อมูล ACAUGGAUGGACUGUAACCCCAUGC การแยกวิเคราะห์เริ่มต้นที่การเกิดขึ้นซ้ายสุดAUGที่ดัชนี 2 ซึ่งจะดำเนินการดังนี้: …

3
ประเมิน Skat-Hand
บทนำ Skatเป็นเกมไพ่เยอรมันแบบดั้งเดิมสำหรับผู้เล่น 3 คน สำรับประกอบด้วย 32 ใบ: Ace, King, Queen, Jack, 10, 9, 8, 7 ในทั้งหมด 4 ชุด (Clubs, Spades, Hearts, Diamonds) ในทุก ๆ รอบมีผู้เล่นคนเดียวเล่นคนเดียวในขณะที่อีกสองคนเล่นกับเขา ในช่วงเริ่มต้นของรอบผู้เล่นแต่ละคนจะได้รับไพ่ 10 ใบส่วนที่เหลืออีก 2 ใบเรียกว่าskatและวางคว่ำลงตรงกลาง ผู้เล่นเดี่ยวจะถูกกำหนดโดยขั้นตอนการเสนอราคา นี่เป็นส่วนหนึ่งของเกมที่คุณจะต้องจัดการกับความท้าทายนี้โดยมีรายละเอียดเพิ่มเติมด้านล่างนี้ ผู้เล่นที่ชนะช่วงประมูลจะกลายเป็นผู้เล่นเดี่ยว เขาหยิบรองเท้าสเก็ตแล้วหยดการ์ดสองใบ (ซึ่งอาจเหมือนกันทีมอื่นไม่รู้) หยิบชุดทรัมป์และเริ่มรอบ หนึ่งรอบประกอบด้วยสิบเทคนิค ผู้เล่นที่ชนะเคล็ดลับนำไปสู่คนต่อไปจนกว่าจะเล่นไพ่ทั้งหมด ฉันจะไม่อธิบายกฎที่นี่ แต่คุณควรรู้ว่าการมีไพ่คนดีมาก หากคุณต้องการเรียนรู้เกี่ยวกับกฎตรวจสอบบทความ Wikipedia ที่ฉันเชื่อมโยงในตอนต้นของโพสต์นี้ แต่มันไม่จำเป็นสำหรับความท้าทายนี้ ความท้าทาย คุณต้องการสอนลูกสองคนถึงวิธีการเล่นสเกต กฎนั้นไม่ยากดังนั้นพวกเขาจึงรีบเข้าไป สิ่งเดียวที่ทำให้พวกเขาลำบากคือการประมูลโดยเฉพาะการคำนวณมูลค่าเกมในมือของพวกเขา ดังนั้นคุณตัดสินใจที่จะเขียนโปรแกรมขนาดเล็กซึ่งแสดงมูลค่าของเกมสูงสุดที่พวกเขาสามารถเสนอราคาได้เมื่อมือนั้น การคำนวณมูลค่าของเกม …

1
การก่อสร้างสตริงย่อยสูงสุด
ในการท้าทายนี้คุณจะได้รับสองสิ่ง: ความยาวสตริง N รายการสตริงLแต่ละอันมีค่าจุดที่กำหนด สตริงใด ๆ ที่ไม่ได้ผ่านมีค่าจุดเป็น 0 คุณต้องสร้างสตริงที่มีความยาวNเพื่อให้ผลรวมของคะแนนย่อยทั้งหมดมีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้ ตัวอย่างเช่น: 5 [("ABC", 3), ("DEF", 4), ("CDG", 2)] ควรส่งออก ABCDG เนื่องจากสตริงย่อยทั้งสองที่มีคะแนน ( ABCและCDG) มีทั้งหมด 5 คะแนนและไม่มีสิ่งก่อสร้างอื่นที่เป็นไปได้ที่จะให้ 5 คะแนนขึ้นไป สตริงย่อยสามารถใช้ได้หลายครั้งในสตริงและสามารถทับซ้อนกันได้ คุณสามารถคิดว่าจุดที่จะเป็นบวกความยาวย่อยจะอยู่ระหว่าง 1 ถึงNlongs N > 0ตัวอักษรและว่า หากสิ่งปลูกสร้างหลายรายการมีขนาดใหญ่สุดให้พิมพ์หนึ่งในนั้น โปรแกรมของคุณต้องทำงานในเวลาที่เหมาะสม (ไม่เกินหนึ่งนาทีสำหรับตัวอย่างแต่ละตัวอย่าง): 1 [("A", 7), ("B", 4), ("C", 100)] => C 2 [("A", 2), ("B", …

10
วันหยุดนักขัตฤกษ์ถัดไป
คนออสเตรเลียชอบวันหยุดนักขัตฤกษ์และดื่ม เมื่อวานนี้วันที่ 26 มกราคมเป็นวันชาติออสเตรเลียซึ่งเป็นวันหยุดนักขัตฤกษ์ ฉันดีใจที่ไม่ได้ทำงานเมื่อวานนี้และกระตือรือร้นที่จะรู้ในครั้งต่อไปที่ฉันได้รับวันหยุดนักขัตฤกษ์! น่าเสียดายที่ฉันดื่มมากเกินไปและฉันไม่สามารถออกกำลังกายได้ด้วยตัวเอง เขียนโปรแกรมที่จะใช้วันที่ในสัญกรณ์วันที่ / เวลาของออสเตรเลีย (dd / mm) เป็นอินพุตและส่งออกจำนวนวันจนถึงวันหยุดนักขัตฤกษ์ถัดไป เนื่องจากฉันเป็นผู้อยู่อาศัยในรัฐควีนส์แลนด์ (QLD) ฉันสนใจเฉพาะวันหยุดนักขัตฤกษ์ที่มีผลกระทบต่อรัฐควีนส์แลนด์ : 25/03 | วันศุกร์ที่ดี 26/03 | อีสเตอร์เสาร์ 28/03 | อีสเตอร์วันจันทร์ 25/04 | วัน Anzac 02/05 | วันแรงงาน 03/10 | วันเกิดของพระราชินี 25/12 วันคริสต์มาส 26/12 บ็อกซิ่งเดย์ 27/12 วันหยุดวันคริสต์มาส จดบันทึกสิ่งต่อไปนี้จากไซต์: วันหยุดวันคริสต์มาส วันหยุดนักขัตฤกษ์เพิ่มเติมที่จะเพิ่มเมื่อวันปีใหม่วันคริสต์มาสหรือวันบ็อกซิ่งตรงกับวันหยุดสุดสัปดาห์ เพราะวันคริสมาสต์เมื่อวันอาทิตย์ที่มีความพิเศษในวันหยุดนักขัตฤกษ์ วันคริสต์มาสยังคงเป็นวันหยุดนักขัตฤกษ์ เนื่องจากฉันเป็นคนเช้าคุณควรรวมวันที่ปัจจุบันเป็นวัน (ซึ่งเป็นเวลาที่เป็นไปได้มากที่สุดที่ฉันจะตรวจสอบโปรแกรมของคุณสำหรับวันหยุดนักขัตฤกษ์ถัดไป) นั่นคือหากป้อนวันที่วันหยุดราชการผลผลิตของคุณควรเป็น0; …
18 code-golf  date 

2
การจัดแนวบนกริดแบบสามเหลี่ยม
กริดแบบหกเหลี่ยมได้รับความนิยมอย่างมากสำหรับความท้าทายเกี่ยวกับข้อมูล 2 มิติเมื่อไม่นานมานี้ อย่างไรก็ตามดูเหมือนว่ากริดรูปสามเหลี่ยมที่น่าสนใจไม่แพ้กัน ฉันต้องการแก้ไขด้วยความท้าทายที่ค่อนข้างง่าย ก่อนอื่นเราจะแสดงตารางสามเหลี่ยมได้อย่างไร ลองพิจารณาตัวอย่างต่อไปนี้ (ไม่สนใจไดอะแกรมที่เหมาะสม) เซลล์ตกลงอย่างเรียบร้อยบนกริดปกติ (ความแตกต่างของกริดปกติเป็นเพียงเซลล์ที่ถูกพิจารณาว่าติดกัน): 1234567 89abcde fghijkl mnopqrs ในขณะที่แผนภาพด้านขวาแสดงให้เห็นว่าตารางสามเหลี่ยมมีสามแกนหลัก ได้แก่ แนวนอนและแนวทแยงสองเส้น ไฮไลต์สิ่งเหล่านี้ในตาราง ASCII: AVAVAVA VAabcAV fVAiAVl mnVAVrs ความท้าทาย คุณได้รับสตริงรูปสี่เหลี่ยมผืนผ้าที่แสดงถึงรูปสามเหลี่ยม (ซึ่งมุมบนซ้ายเป็นรูปสามเหลี่ยมชี้ขึ้น) เซลล์ส่วนใหญ่ที่มีค่าเป็น.แต่จะมีเซลล์สองเซลล์#เช่น: ....# .#... ..... ตรวจสอบว่าทั้งสอง#ถูกจัดตำแหน่งตามแนวแกนใด ๆ ในสามแกนของตารางหรือไม่ (เช่นว่าพวกเขานอนบนแถวเดียวในทิศทางใดก็ได้ที่เน้นด้านบน) สำหรับตัวอย่างนี้คำตอบคือ "ไม่" คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ อินพุตอาจเป็นสตริงเดี่ยวที่คั่นด้วย linefeeds หรืออักขระที่สะดวกอื่น ๆ หรือรายการสตริง คุณอาจจะใช้สอง …

4
ลำดับ Quine ที่กำลังเติบโต
คุณจะต้องเขียนโปรแกรม 10 โปรแกรมp1 p2 ... p10ตามคุณสมบัติต่อไปนี้: pKพิมพ์pK+1สำหรับK1-9 p10 พิมพ์ p10 เมื่อต่อKโปรแกรมแรกเข้าด้วยกันโปรแกรมที่เป็นผลลัพธ์จะp1...pKพิมพ์p1...pKออกมา แต่ละโปรแกรมจะต้องมีขนาดใหญ่ในขนาดไบต์กว่าโครงการก่อนหน้านี้pKpK-1 โปรแกรมทั้งหมดจะต้องเป็นภาษาเดียวกัน ฟังก์ชั่นควินนิ่งในตัว (เช่นQในหลายภาษา) ได้รับอนุญาต คะแนนของคุณคือผลรวมของจำนวนไบต์ของ 10 โปรแกรม เนื่องจากมีเพียงสิบโปรแกรมคุณต้องทำให้รหัสของคุณสั้นที่สุด โชคดี.

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