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

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

15
แผ่นป้ายทะเบียนเกมสเปน
คำถามนี้จะขึ้นอยู่กับคำถามที่ผมถามในภาษาสเปน ใช่ฉันขออัลกอริทึมเป็นภาษาสเปน :) ในสเปนแผ่นป้ายทะเบียนปัจจุบันมีรูปแบบดังนี้: 1234 XYZ ที่ XYZ เป็นพยัญชนะสามตัวที่นำมาจากชุดพยัญชนะสเปนเต็มรูปแบบ (ยกเว้น 'Ñ' ฉันคิดว่า) บางครั้งเมื่อเดินทางกับภรรยาของฉันเรามักจะเล่นเกม เมื่อเราเห็นป้ายทะเบียนเราใช้พยัญชนะสามตัวและพยายามสร้างคำที่มีพยัญชนะทั้งสามปรากฏตามลำดับเดียวกันกับในแผ่นป้ายทะเบียน ตัวอย่าง (เป็นภาษาสเปน): BCD BoCaDo (valid) CaBezaDa (not valid) FTL FaTaL (valid) FLeTar (not valid) FTR FleTaR (valid, wins) caFeTeRa (valid, loses) ผู้ชนะคือผู้ที่ใช้จำนวนอักขระน้อยที่สุดอย่างที่คุณเห็นในตัวอย่างสุดท้าย ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดที่ได้รับรายการคำและชุดของพยัญชนะสามตัวและค้นหาคำที่สั้นที่สุดในรายการที่มีพยัญชนะสามตัวตามลำดับเดียวกัน สำหรับจุดประสงค์ของเกมนี้เคสไม่สำคัญ อินพุตสำหรับรายการคำ (พารามิเตอร์แรก) จะเป็นอาร์เรย์ของstringประเภทภาษาของคุณ พารามิเตอร์ที่สอง (สามพยัญชนะ) stringจะเป็นอีก หากดีกว่าสำหรับภาษาของคุณให้ลองstringใช้ตัวอักษรสามตัวในรายการสุดท้ายของรายการพารามิเตอร์ทั้งหมด stringการส่งออกจะเป็นอีก คำในรายการคำจะไม่ถูกประดิษฐ์หรือคำที่ไม่มีที่สิ้นสุดพวกเขาจะคำที่ปรากฏในพจนานุกรมมาตรฐานใด ๆ หากคุณต้องการขีด …

30
ดัชนีของแถวที่มีองค์ประกอบที่ไม่ใช่ศูนย์ส่วนใหญ่
นี่เป็นวิธีง่าย ๆ :ใช้เมทริกซ์ของจำนวนเต็มเป็นอินพุตและสร้างดัชนีของแถวที่มีองค์ประกอบที่ไม่เป็นศูนย์มากที่สุด คุณอาจคิดว่าจะมีเพียงหนึ่งแถวที่มีองค์ประกอบที่ไม่ใช่ศูนย์มากที่สุด กรณีทดสอบ: สิ่งเหล่านี้เป็น 1 ดัชนีคุณสามารถเลือกได้ว่าต้องการ 0 หรือ 1 ดัชนี 1 0 row = 1 --- 0 -1 0 0 row = 1 --- 1 1 0 0 0 0 0 5 0 0 2 3 0 0 0 0 5 6 2 2 row = 4 --- …
26 code-golf  matrix 

9
Polyglots GCD / LCM!
ความท้าทายของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ส่งออกGCDของอินพุตของมันในภาษาหนึ่งและLCMของอินพุตของมันในอีกภาษาหนึ่ง Builtins สำหรับ GCD หรือ LCM (ฉันกำลังดูคุณ Mathematica) ได้รับอนุญาต แต่ไม่ได้รับการสนับสนุน จะมี 2 อินพุตซึ่งจะเป็นจำนวนเต็มบวกเสมอไม่เกิน 1,000 กรณีทดสอบ แต่ละบรรทัดเป็นหนึ่งกรณีทดสอบในรูปแบบx y => GCD(x,y) LCM(x,y): 1 1 => 1 1 1 2 => 1 2 4 1 => 1 4 3 4 => 1 12 7 5 => 1 35 18 15 => 3 90 …

7
การแสดงออกหนึ่งค่ามากมาย
การใช้สัญลักษณ์ทางคณิตศาสตร์ที่คุ้นเคยของเรา: +, x, วงเล็บ, และจำนวนตรรกยะใด ๆ ทำให้ง่ายต่อการสร้างนิพจน์ที่ประเมินค่าไปยังหมายเลขที่ต้องการ ตัวอย่างเช่น1+(2x3)=7, (1+2)+(3x6.5)=22.5และอื่น ๆ น่าเบื่อพอสมควร ±ในความท้าทายนี้เราจะใช้ผู้ประกอบการใหม่: การใช้±นิพจน์หมายความว่าคุณจำเป็นต้องประเมินนิพจน์โดยแทนที่±ของด้วย+หรือด้วย-วิธีที่เป็นไปได้ทั้งหมดและส่งคืนชุดของค่าที่เป็นไปได้ทั้งหมด ตัวอย่างเช่น: 1±2±3 = {-4,0,2,6}เพราะ1±2±3สามารถใด ๆ ของ1+2+3, 1+2-3, 1-2+3และ1-2-3และค่านิยมของพวกเขา6,0,2,-4ตามลำดับ (±2)x(2±3) = {-10,-2,2,10} ด้วยเหตุผลที่คล้ายกัน ตอนนี้มันจะเปิดออกให้ชุดของตัวเลขจริงที่แตกต่างใด ๆ ก็เป็นไปได้ที่จะสร้างการแสดงออกด้วย+, x, (, ), ±และตัวเลขจริงที่ประเมินชุดที่กำหนด งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกที่จะใช้ลำดับ (รายชื่อ / อาร์เรย์ / รูปแบบที่สะดวกใด ๆ ) ของจำนวนเต็มและผลการแสดงออก (เป็นสตริง) ประกอบด้วย+, x, (, ), ±และตัวเลขเหตุผลที่ประเมินถึงชุดของตัวเลขที่กำหนด โปรดทราบว่าตัวละครที่แน่นอน±ไม่สำคัญ คุณสามารถใช้ตัวละครอื่นที่คุณต้องการตราบใดที่มันสามารถแยกแยะได้จากตัวละครอื่นที่คุณกำลังใช้ …

30
สร้างเมทริกซ์กระดานหมากรุก
ใช้เป็นจำนวนเต็มบวกnเป็น input และเอาท์พุทn โดย nเมทริกซ์หมากรุกประกอบด้วย1และ0 ตัวเลขบนซ้ายควรเป็น1เสมอ กรณีทดสอบ: n = 1 1 n = 2 1 0 0 1 n = 3 1 0 1 0 1 0 1 0 1 n = 4 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 รูปแบบอินพุตและเอาต์พุตเป็นทางเลือก …

21
จัดกลุ่มรายการตามความถี่
รับรายการจำนวนเต็มจัดกลุ่มองค์ประกอบที่เกิดขึ้นเป็นอันดับแรกจากนั้นจัดกลุ่มรายการถัดไปเป็นลำดับถัดไปเรื่อย ๆ จนกระทั่งแต่ละองค์ประกอบที่ไม่ซ้ำกันในรายการได้รับการจัดกลุ่มหนึ่งครั้ง ตัวอย่าง: การป้อนข้อมูล: [1,2,3] เอาท์พุท: [[1,2,3]] การป้อนข้อมูล: [1,1,1,2,2,3,3,4,5,6] เอาท์พุท: [[1],[2,3],[4,5,6]] การป้อนข้อมูล: [1,1,1,4,5,6,6,6,7,7,8,8,8,8,8,8,8,9,5,6,5,6,5,6,5,6,-56] เอาท์พุท: [[6, 8],[5],[1],[7],[9,4,-56]] การป้อนข้อมูล: [] เอาท์พุท: [] การป้อนข้อมูล: (empty input) เอาท์พุท: ERROR/Undefined/Doesn't matter กฎระเบียบ การจัดกลุ่มจะต้องเปลี่ยนจากความถี่สูงสุดไปเป็นความถี่ต่ำสุด คำสั่งภายในของการจัดกลุ่มเป็นแบบสุ่ม (ตัวอย่างที่ 3 อาจมี[8,6]แทน) นี่คือรหัส - กอล์ฟชนะน้อยที่สุดนับไบต์ ที่เกี่ยวข้อง เรียงลำดับองค์ประกอบที่แตกต่างของรายการตามลำดับจากมากไปน้อยตามความถี่

30
วันนี้คือวันอะไร?
ท้าทาย แปลกอย่างนี้ยังไม่เสร็จ: ส่งออกวันที่ปัจจุบัน กฎระเบียบ รูปแบบวันที่ที่คุณควรปฏิบัติตามมีดังนี้: YYYY-MM-DD โดยที่เลขศูนย์และเดือนควรมีค่าเป็นศูนย์ถ้าน้อยกว่า 10 ตัวอย่างเช่นหากโปรแกรมทำงานในวันที่ 24 พฤษภาคม 2017 ก็ควรส่งออก 2017-05-24 วันที่สามารถอยู่ใน UTC หรือวันที่ท้องถิ่น คุณต้องจัดการกับ leaps ปี เช่นในปีอธิกสุรทินเดือนกุมภาพันธ์มี 29 วัน แต่ 28 วันในปีปกติ การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
26 code-golf  date 

30
ลบ, ​​บวก, คูณ, ยกกำลัง?
นี่คือ CMC (ความท้าทายในการแชทมินิ) ที่ฉันโพสต์ในห้องแชทของเรา, Ninteenth Byte , บิตที่ผ่านมา ความท้าทาย รับจำนวนเต็มบวกxขึ้นอยู่กับ 2 บิตสุดท้ายxทำต่อไปนี้: x & 3 == 0: 0 x & 3 == 1: x + x x & 3 == 2: x * x x & 3 == 3: x ^ x (exponentiation) Input / Output Single Integer -> Single …
26 code-golf  math 

30
หมายเลขของฉันนานเท่าไหร่
ท้าทาย กำหนดจำนวนเต็มQในช่วง-(2^100) ≤ Q ≤ 2^100ส่งออกจำนวนหลักในจำนวนนั้น (ในฐาน 10) กฎระเบียบ ใช่คุณอาจใช้ตัวเลขเป็นสตริงและค้นหาความยาว อนุญาตให้ใช้ฟังก์ชันทางคณิตศาสตร์ทั้งหมดได้ คุณอาจรับอินพุตในฐานใดก็ได้ แต่ผลลัพธ์จะต้องเป็นความยาวของตัวเลขในฐาน 10 อย่านับเครื่องหมายลบสำหรับจำนวนลบ ตัวเลขจะไม่มีจุดทศนิยม ศูนย์สามารถมีได้หนึ่งหรือศูนย์หลัก สมมติว่าอินพุตจะเป็นจำนวนเต็มที่ถูกต้องเสมอ ตัวอย่าง Input > Output -45 > 2 12548026 > 8 33107638153846291829 > 20 -20000 > 5 0 > 1 or 0 การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

3
เกมแห่ง arrowslits ชีวิต
พื้นหลัง ความท้าทายนี้เป็นเกียรติของapsillersผู้ชนะรางวัลNot as simple ตามหมวดหมู่ Best of PPCG 2016 ด้วยความท้าทายกล่องดนตรี 4 โน้ตของฉันสามารถเล่นเพลงนั้นได้หรือไม่? ขอแสดงความยินดี! ในหน้า "เกี่ยวกับฉัน" ผู้ใช้รายนี้มีตัวจำลองที่ประณีตมากสำหรับออโตเมติกเซลเกมแห่งชีวิต (อย่างจริงจังไปตรวจสอบออก) ในทางกลับกันคำว่าaspilleraเป็นภาษาสเปนสำหรับ "ลูกศรเรืองแสง " จากข้อเท็จจริงเหล่านี้ความท้าทายนี้เกี่ยวกับ arrowslits ใน Game of Life เกมแห่ง arrowslits ชีวิต กอลเราจะเป็นตัวแทนของลูกศรโดยเครื่องร่อนและผนังโดยลำดับของบล็อก ร่อนเดี่ยวเข้าใกล้กำแพงจากด้านบนและพยายามที่จะบินผ่านช่องว่างในกำแพง งานของคุณคือการตรวจสอบว่าเครื่องร่อนผ่านลูกศรไฟหรือชนเข้ากับผนัง อินพุต อินพุตของคุณคือตารางบิตซึ่งแสดงถึงการกำหนดค่า GoL คุณสามารถนำไปใช้ในรูปแบบที่สมเหตุสมผล (สตริงหลายบรรทัดของอักขระ ASCII ที่พิมพ์ได้สองรายการ, รายการสตริง, อาร์เรย์ 2D ของจำนวนเต็ม, อาร์เรย์ 2D ของ booleans ฯลฯ ) เพื่อความชัดเจนฉันจะใช้สตริงหลายบรรทัดของตัวละคร.#ดังต่อไปนี้ …

28
แถวแถวแถวเรือของคุณ
ทุกคนมีความคุ้นเคยกับเพลงต่อไปนี้ซึ่งเป็นรอบดนตรี : พื้นหลัง คนที่น้อยลงอาจจำได้ว่าพยายามร้องเพลงเวอร์ชั่น 4 คนกับเพื่อนไม่กี่คนและล้มเหลว การหักล้างเนื้อเพลงของเพลงที่มีระยะห่างที่กลมกลืนกันเป็นที่รู้จักกันในชื่อการร้องเพลง "รอบ" และนั่นคือสิ่งที่เราอยู่ที่นี่เพื่อจำลองวันนี้โดยใช้เอาต์พุตแบบคงที่ นี่คือตัวอย่างของคนที่ปฏิบัติจริงชิ้น (เชื่อมโยงไปยังเสียง / วิดีโอจะมีเสียง) ความท้าทาย ความท้าทายนี้คือการส่งออกข้อความดังนี้ดังนี้: Row, row, row your boat, |-----------------------------------|-----------------------------------|----------------------------------- Gently down the stream. |Row, row, row your boat, |-----------------------------------|----------------------------------- Merrily, merrily, merrily, merrily,|Gently down the stream. |Row, row, row your boat, |----------------------------------- Life is but a dream. |Merrily, …

11
ระยะทางสามเหลี่ยมแมนฮัตตัน
ระยะแมนฮัตตันบนตารางปกติเป็นจำนวนขั้นตอนฉากหนึ่งที่ต้องใช้เวลาในการเข้าถึงเซลล์หนึ่งจากที่อื่น ขั้นตอนมุมฉากเป็นขั้นตอนที่ผ่านขอบของเซลล์กริด (ตรงข้ามกับมุมซึ่งจะทำให้เราระยะทาง Chebyshev ) เราสามารถกำหนดระยะทางที่ใกล้เคียงกันบนกริดอื่น ๆ เช่นตารางสามเหลี่ยม เราสามารถระบุที่อยู่ของแต่ละเซลล์ในตารางด้วยชุดรูปแบบการทำดัชนีต่อไปนี้โดยที่แต่ละเซลล์มีx,yคู่: ____________________________________... /\ /\ /\ /\ /\ / \ 1,0/ \ 3,0/ \ 5,0/ \ 7,0/ \ / 0,0\ / 2,0\ / 4,0\ / 6,0\ / 8,0\ /______\/______\/______\/______\/______\... \ /\ /\ /\ /\ / \ 0,1/ \ 2,1/ \ 4,1/ \ 6,1/ …

6
กราฟ Cayley ของ ASCII
ในขณะที่ทำวิจัยบางอย่างสำหรับความท้าทายที่แตกต่างกันฉันกำหนด, ฉันมาข้ามกราฟเคย์ลีโดยเฉพาะคนนี้ ตั้งแต่ฉันหนึ่งในด้านบน ascii-ศิลปะนักเขียนท้าทายแน่นอนผมจะต้องทำให้ความท้าทายศิลปะ ASCII สำหรับเรื่องนี้ ความท้าทายของคุณคือการสร้างผลงานศิลปะ ASCII ของกราฟ Cayley ของกลุ่มฟรีในเครื่องกำเนิดสองเครื่องดังนี้ + +++ + | + ++-+-++ + | + + | + +++ | +++ + | | | + ++-+----+----+-++ + | | | + +++ | +++ + | + + | + +++ | +++ + …

11
Anagram Quines (ด้ายตำรวจ)
นี่คือตำรวจและโจรที่ท้าทายเธรดของโจรสามารถพบได้ที่นี่ ความท้าทายของคุณคือการเขียนโปรแกรมที่ส่งออกแอนนาแกรมของซอร์สโค้ด แต่ไม่ใช่ซอร์สโค้ดตัวเอง ตัวอย่างเช่นโปรแกรม Python ดังต่อไปนี้ print`'print*2``'*2` พิมพ์ 'print*2``print*2``' ซึ่งมีอักขระเหมือนกันทั้งหมดกับแหล่งต้นฉบับ แต่ในลำดับที่แตกต่างกัน เมื่อคุณพบโปรแกรมดังกล่าวแล้วให้รวมเอาท์พุทของโปรแกรมเป็นคำตอบที่ไม่ใช้โปรแกรมที่สร้างขึ้นมา ตามที่คุณอาจเดาได้โจรจะพยายามค้นหาโปรแกรมที่คุณซ่อนไว้หรือโปรแกรมที่ตรงตามข้อกำหนด เป้าหมายของคุณคือการทำให้โปรแกรมสั้นที่สุดที่โจรไม่สามารถถอดรหัสได้ กฎระเบียบ เช่นเดียวกับที่สุดตำรวจและโจรท้าทายถ้ายังคงเป็นคำตอบของคุณ uncracked สำหรับสัปดาห์คุณอาจจะเพิ่มการแก้ปัญหาที่มีจุดมุ่งหมายเพื่อคำตอบของคุณและทำเครื่องหมายเป็นที่ปลอดภัย เมื่อปลอดภัยแล้วคำตอบก็ไม่สามารถถอดรหัสได้โดยโจร คุณไม่จำเป็นต้องรวมภาษาของโซลูชันที่ต้องการอย่างไรก็ตามหากคุณไม่รวมถึงโจรภาษาสามารถถอดรหัสในภาษาใด ๆ ที่มีความท้าทายก่อนที่จะถึงแม้ว่าคุณจะระบุภาษาพวกเขาอาจแตกในที่เดียวเท่านั้น ใช้กฎมาตรฐานสำหรับ Quines

25
Pigeonhole Principle & Code Golf
หลักรังนกพิราบระบุว่า หากมีการใส่รายการNลงในกล่องMโดยมีN > Mอย่างน้อยหนึ่งกล่องจะต้องมีมากกว่าหนึ่งรายการ สำหรับหลาย ๆ คนหลักการนี้มีสถานะพิเศษเมื่อเทียบกับการคำนวณทางคณิตศาสตร์อื่น ๆ ในฐานะที่เป็น EW Dijkstra เขียน , มันถูกล้อมรอบไปด้วยความลึกลับบางอย่าง บทพิสูจน์ที่ใช้มันมักถูกมองว่าเป็นสิ่งที่พิเศษ ความท้าทาย จุดประสงค์ของการท้าทายนี้คือเพื่อแสดงให้เห็นถึงหลักการของนกพิราบในช่องว่างโดยใช้การแทนด้วยศิลปะ ASCII โดยเฉพาะ: ใช้เป็นอินพุตN(จำนวนรายการ) และM(จำนวนกล่อง) โดยNไม่ลบและMบวก Nอาจมีขนาดเล็กกว่าM(แม้ว่าหลักการไม่ได้ใช้ในกรณีนั้น) สุ่มเลือกหนึ่งในการกำหนดรายการที่เป็นไปได้ให้กับกล่อง แต่ละการมอบหมายควรมีความน่าจะเป็นที่ไม่เป็นศูนย์ในการเลือก สร้างการแทนค่า ASCII art ของการมอบหมายดังนี้: มีMเส้นแต่ละเส้นตรงกับกล่อง |แต่ละบรรทัดเริ่มต้นด้วยตัวอักษรที่ไม่ใช่ช่องว่างเช่น การติดตามตัวละครนั้นเป็นอีกตัวที่ไม่ใช่ช่องว่างเช่น#ซ้ำหลายครั้งเนื่องจากมีรายการในกล่องนั้น พิจารณาตัวอย่างเช่น,N = 8 M = 5หาก assigment เลือกของรายการที่จะเป็นกล่อง4, 1, 0, 3, 0ตัวแทนคือ |#### |# | |### | การทำงานที่แตกต่างกัน …

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