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

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

1
เคล็ดลับสำหรับการเล่นกอล์ฟใน Starry
สิ่งใดที่คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟในStarry ? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะเจาะจงกับ Starry (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
16 code-golf  tips  starry 

13
ค้นหา Centroid ของรูปหลายเหลี่ยม
จากวิกิพีเดีย : เซนทรอยด์ของรูปหลายเหลี่ยมที่ไม่ได้ตัดกันที่กำหนดโดยจุดยอดn ( x 0 , y 0 ), ( x 1 , y 1 ), ... , ( x n - 1 , y n − 1 ) คือ จุด ( C x , C y ) โดยที่ และตำแหน่งAคือพื้นที่ที่ลงนามของรูปหลายเหลี่ยม ในสูตรเหล่านี้จุดยอดจะถือว่าเป็นตัวเลขตามลำดับการเกิดขึ้นตามแนวเส้นรอบวงของรูปหลายเหลี่ยม นอกจากนี้จุดสุดยอด ( x n , y n ) …

12
คำถามนี้มีคำตอบกี่คำ?
เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกจำนวนตอบจำนวนคำถามที่มี โซลูชันของคุณยังควรทำงานเมื่อมีการเพิ่มคำตอบเพิ่มเติม ภาษาที่ทำงานในเบราว์เซอร์อาจถูกเรียกใช้จากคอนโซล js ขณะที่อยู่ในหน้านี้ มิฉะนั้นคุณอาจต้องดาวน์โหลดหน้านี้ โซลูชันหลายภาษาเช่นwgetการใช้หน้าเว็บและการแยกวิเคราะห์โดยใช้grepก็โอเค เพียงสรุปบรรทัดคำสั่งและแหล่งที่มาทั้งหมดที่ใช้ นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ แก้ไข: ให้อย่างน้อยหนึ่งครั้งที่ URL ของหน้านี้จะไม่นับรวมเป็นอินพุตหรือในแหล่งที่มา ไม่มีตัวย่อ URL ไม่มีข้อมูลที่เก็บไว้เช่นรับพารามิเตอร์เป็นต้นราคารอบ URL ยังคงนับถ้าจำเป็น การใช้ URL เป็นอินพุตก็ไม่เป็นไร หากคุณต้องการลบบางส่วนของ URL เช่น/how-many-answers...คุณทำได้ แต่อาจไม่ช่วยคุณได้

30
ทำรังสตริงภายในอาร์เรย์ n ครั้ง
คุณต้องสร้างฟังก์ชั่นที่สร้างสตริงsภายในอาร์เรย์nครั้ง >>> N("stackoverflow",2) [['stackoverflow']] พารามิเตอร์: s - สตริง ascii n - จำนวนเต็ม >= 0 กฎระเบียบ รหัสที่สั้นที่สุดชนะ การส่งออกจะเป็นที่ซ้อนกันarray, listหรือtuple(หรือคล้ายกันประเภทตามออกอาร์เรย์) กรณีทดสอบ >>> N("stackoverflow",0) 'stackoverflow' >>> N("stackoverflow",1) ['stackoverflow'] >>> N("stackoverflow",5) [[[[['stackoverflow']]]]] แรงบันดาลใจจาก: การซ้อนสตริงภายในรายการ nคูณคือรายการของรายการ
16 code-golf  string 

18
ความหลากหลายแบบดิจิทัล
1 <= b < infเป็นจำนวนเต็มบวกอาจจะเป็นตัวแทนในการเป็นฐานจำนวนเต็ม เมื่อแปลงเป็นฐานนั้นจะมีจำนวนหลักที่แตกต่างกัน จำนวนเต็มบวกใด ๆ ในฐาน1มี1หลักที่แตกต่างกัน จำนวนเต็มบวกมากที่สุดในฐาน2มี2ตัวเลขที่แตกต่างกันข้อยกเว้นที่เป็นผู้ที่อยู่ในรูปแบบที่มีเฉพาะ2^n - 11 ดังนั้นจำนวนเต็มบวกครั้งแรกที่อาจจะเป็นตัวแทนในการเป็นฐานจำนวนเต็มกับ1หลักที่เป็นเอกลักษณ์1และเป็นครั้งแรกที่อาจจะแทนด้วยตัวเลขที่แตกต่างกันคือ22 เราสามารถพูดได้ว่า1เป็นจำนวนเต็มแรกที่มีความหลากหลายทางดิจิตอล1และเป็นจำนวนเต็มแรกที่มีความหลากหลายทางดิจิตอล22 ท้าทาย: ป.ร. ให้ไว้เป็นจำนวนเต็มบวกnกลับจำนวนเต็มบวกเป็นครั้งแรก (ในฐานสิบ *) nที่มีความหลากหลายทางดิจิตอล * หากภาษาของคุณรองรับเฉพาะฐานเท่านั้น (เช่น unary หรือไบนารี) จากนั้นคุณอาจส่งออกในฐานนั้น อัลกอริทึมของคุณจะต้องทำงานในทางทฤษฎีสำหรับการป้อนจำนวนเต็มบวกใด ๆ : มันอาจล้มเหลวเนื่องจากความแม่นยำของจำนวนเต็มของภาษาของคุณเล็กเกินไปสำหรับการส่งออก; แต่อาจไม่ล้มเหลวเนื่องจากการแปลงฐานถูกกำหนดไว้ถึงบางขีด จำกัด เท่านั้น กรณีทดสอบ input output 1 1 2 2 3 11 4 75 5 694 6 8345 7 123717 …

7
บ้านของซานตาคลอส
บ้านของซานตาคลอส หมายเหตุ:นี่เป็นความท้าทายแรกที่ฉันพยายามตั้งไว้ มันผ่านแซนด์บ็อกซ์แล้ว แต่ถ้าคุณพบว่ามีบางอย่างผิดปกติโปรดอย่าเพิ่งลงคะแนน แต่แสดงความคิดเห็นเพื่อที่ฉันจะได้ปรับปรุงได้ พื้นหลัง มีปริศนาเด็กอายุที่ความท้าทายคือการวาดกล่องที่มีหลังคาและข้ามผ่านกลางโดยไม่ต้องยกปากกาของคุณจากกระดาษหรือข้ามเส้นใด ๆ สองครั้ง ในประเทศเยอรมนีเป็นที่รู้จักกันในนาม "das Haus des Nikolaus" หรือ "The House of Santa Claus" ฉันจำสิ่งที่เราเคยเรียกมันไม่ได้ สำหรับใครที่ไม่คุ้นเคยกับปริศนาที่รายละเอียดทั้งหมดที่มีอยู่ที่นี่ นี่คือตัวแทนศิลปะ ASCII ของบ้าน /\ /__\ |\/| |/\| ---- ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นเพื่อวาด House of Santa Claus ในภาษาที่คุณเลือก ฟังดูง่ายเกินไปหรือ นี่คือการจับ มันจะต้องส่งออกแต่ละขั้นตอนของการวาดภาพและปฏิบัติตามกฎของตัวต่อ โปรแกรมของคุณไม่จำเป็นต้องป้อนข้อมูลใด ๆ บ้านที่สร้างเสร็จจะต้องตรงตามที่แสดงด้านบน ตามเว็บไซต์ข้างต้นมี 44 โซลูชั่นที่เป็นไปได้ คุณสามารถใช้หนึ่งในนั้น นี่เป็นความท้าทายของ ASCII ดังนั้นคุณไม่จำเป็นต้องคำนวณวิธีแก้ปัญหา …

6
Golff y Côd - ทรีกลาด
อ่าน yng Nghymraeg นี้ ท้าทาย ให้คำในภาษาเวลส์ส่งออกรูปแบบคำที่กลายพันธุ์ทั้งหมดที่เป็นไปได้ การกลายพันธุ์ การกลายพันธุ์คือการเปลี่ยนแปลงของตัวอักษรตัวแรกของคำเมื่อทำตามคำบางคำหรือในบริบททางไวยากรณ์ที่แน่นอน ในภาษาเวลส์รายการต่อไปนี้ถูกพิจารณาเป็น "พยัญชนะ": b c ch d dd f ff g ng h l ll m n p ph r rh s t th โปรดทราบว่าพยัญชนะหลายตัวเช่น ch, ng และ rh จะนับเป็นตัวอักษรหนึ่งในภาษาเวลส์ดังนั้นจึงมีพยัญชนะหนึ่งตัว ตัวอักษรอื่น ๆ ในตัวอักษรเวลส์เป็นเสียงสระดังด้านล่าง: a e i o u w y ดูด้านล่างการกลายพันธุ์ทั้งหมดที่มีตัวอักษรต้นฉบับทางด้านซ้ายและตัวกลายพันธุ์ที่เกิดขึ้นทางด้านขวา: Original | …

11
เอาต์พุต“ Lorem ipsum” ที่มีจำนวนอักขระน้อยที่สุด
ฉันจำคนที่บอกว่าขนาดรหัสควรวัดเป็นไบต์ไม่ใช่ตัวอักษรเพราะเป็นไปได้ที่จะเก็บข้อมูลด้วยอักขระ Unicode แปลก ๆ ซึ่งไม่มีความหมายภาพ มันจะเลวร้ายแค่ไหน? ในการท้าทายนี้คุณควรส่งออกข้อความ Lorem Ipsum ต่อไปนี้ซึ่งนำมาจากWikipedia : Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure …

11
สุ่มสะกดคำ
แรงบันดาลใจจากคำถาม CR นี้ (โปรดอย่าฆ่าฉันสำหรับการเรียกดู CR) สเป็ค ความน่าจะเป็นของการสะกดคำคือ: 1/3 ของเวลาไม่เปลี่ยนเอาต์พุต 1/3 ของเวลาลบอักขระแบบสุ่ม 1/3 ของเวลาซ้ำอักขระแบบสุ่ม โอกาสในการลบ / ทำซ้ำอักขระที่กำหนดในอินพุตควรเหมือนกันสำหรับตัวอักษรทั้งหมด หากอักขระสองตัวที่ต่อเนื่องกันเป็นตัวเดียวกัน (ตัวพิมพ์เล็ก - ใหญ่) ความน่าจะเป็นของตัวละครหนึ่งตัวที่กำลังถูกดัดแปลงควรจะเหมือนกันกับตัวละครตัวนั้น AAนั่นคือผลลัพธ์สำหรับ(ซึ่งเป็นAAหรือAหรือAAA) ควรมีความน่าจะเป็นเหมือนกัน ข้อมูลที่ป้อนจะประกอบด้วยตัวอักษรเพื่อความเรียบง่ายเท่านั้น ตัวอย่าง บรรทัดแรกคืออินพุตบรรทัดต่อไปนี้คือการสะกดที่เป็นไปได้ทั้งหมด แต่ละบรรทัดควรมีความน่าจะเป็นเหมือนกันกับการส่งออกอินพุตไม่รวมอยู่ในตัวอย่าง แต่ควรมีความน่าจะเป็นที่ 1/3 ของเอาต์พุต foo fo oo ffoo fooo PPCG PPC PPG PCG PPPCG PPCCG PPCGG

14
ตัวเลขที่ไม่ใช่ Palindromic
จำนวนอย่างเคร่งครัดไม่ใช่ palindromic N เป็นตัวเลขที่ไม่ได้เป็น palindrome ในใด ๆฐาน (ฐาน 2 ถึง N-2) หมายเลขเหล่านี้มีการระบุไว้ในOEIS ยกตัวอย่างเช่นตัวเลข19ในฐาน 2,3,4,5,6 ... 17: 10011, 201, 103, 34, ...31 12ไม่มีการรับรองเหล่านี้คือ palindromic ดังนั้นตัวเลขจึงไม่ใช่แบบ palindromic สำหรับความท้าทายนี้คุณจะต้องส่งคืนค่าที่เป็นจริงหากจำนวนนั้นไม่ใช่ค่า palindromic มิฉะนั้นจะเป็นค่าที่ผิดพลาด คุณอาจถือว่าจำนวนที่ส่งให้คุณมากกว่าหรือเท่ากับ 0 โปรแกรมของคุณควรใช้งานได้กับค่าสูงสุดถึงขนาดจำนวนเต็มของภาษาของคุณ กรณีทดสอบ: Truthy: 0 1 2 3 4 6 11 19 47 53 79 103 389 997 1459 Falsy: 5 …

6
ม้วน ASCII die
ในการท้าทายรหัส - กอล์ฟนี้คุณจะต้องแสดงผล ascii-art ของมู่เล่แบบสุ่ม แบบนี้: ________ /\ \ / \ 6 \ { 4 }-------} \ / 5 / \/_______/ โปรดทราบว่า: ________ /\ \ / \ 3 \ { 4 }-------} \ / 5 / \/_______/ เป็นเอาต์พุตที่ไม่ถูกต้องเพราะนั่นไม่ใช่ผลลัพธ์ที่เป็นไปได้ในการตาย มี6(faces that could be up)*4(faces that could be the left face after …

19
กล่องขยายอัตโนมัติ
บทนำ บางครั้งกล่องของฉันเล็กเกินไปที่จะใส่อะไรลงไป ฉันต้องการให้คุณทำกล่องขยาย! ดังนั้นสิ่งที่ทำให้กล่องกล่องในความท้าทายนี้ OOOO O O O O O O OOOO มุมของกล่องเป็นช่องว่างเสมอ ตัวกล่องสามารถสร้างขึ้นมาจากตัวละครเดียวกัน อักขระนั้นสามารถเป็นอักขระ ASCII ที่พิมพ์ได้ยกเว้นช่องว่าง ดังนั้นนั่นคือตัวละครเหล่านี้: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ความยาวด้านข้างของกล่องข้างต้นเป็น4, 3 คุณอาจจะคิดว่ามีความยาวด้านข้างอยู่เสมอในเชิงบวก นั่นหมายความว่านี่คือกล่องที่เล็กที่สุดที่คุณต้องจัดการ: # # # # ในการขยายกล่องคุณจำเป็นต้องเพิ่มความยาวแต่ละด้าน ลองทำอย่างนี้ทีละขั้นตอนกับตัวอย่างข้างต้น ก่อนอื่นเราเอาส่วนบนของกล่องซึ่งก็คือ: OOOO เราขยายมันทีละรายการดังนั้นเราจึงได้รับ: OOOOO นี่คือส่วนบนและล่างของกล่องตอนนี้ หลังจากนั้นเราทำเช่นเดียวกันกับด้านข้างทางซ้ายและขวา: O O O กลายเป็น: O O O O ตอนนี้เรารวมกันอีกกล่องซึ่งเป็น: OOOOO O O O O O …

12
จำลองลิ้นชักถุงเท้า
พื้นหลัง ฉันมีชุด "ถุงเท้าวันทำงาน" ซึ่งเป็นถุงเท้าเจ็ดคู่ที่ติดป้ายชื่อโดยวันในสัปดาห์ เมื่อฉันล้างถุงเท้าของพวกเขาพวกเขาจบลงด้วยกองและฉันต้องจัดให้พวกเขาเป็นคู่ที่ถูกต้องก่อนที่จะนำพวกเขาเข้าไปในตู้เสื้อผ้า กลยุทธ์ของฉันคือดึงถุงเท้าแบบสุ่มหนึ่งอันออกจากกองพร้อมกันแล้ววางลงบนลิ้นชัก เมื่อใดก็ตามที่มีถุงเท้าคู่ที่ตรงกันบนลิ้นชักฉันผูกพวกเขาเข้าด้วยกันและวางไว้ในตู้เสื้อผ้า งานของคุณคือการจำลองกระบวนการสุ่มนี้และคืนจำนวนการจับที่ต้องการเพื่อหาคู่แรกที่จับคู่ อินพุต ข้อมูลของคุณเป็นจำนวนเต็มN ≥ 1 มันหมายถึง "จำนวนวันในหนึ่งสัปดาห์": มีNคู่ของถุงเท้าในกองและแต่ละคู่มีป้ายชื่อที่แตกต่างกัน หากจำเป็นคุณอาจใช้เมล็ดพันธุ์ PRNG เป็นอินพุตได้ เอาท์พุต ผลลัพธ์ของคุณคือจำนวนถุงเท้าที่ฉันต้องวาดก่อนที่จะพบคู่แรกที่ตรงกัน 2ตัวอย่างเช่นถ้าทั้งสองถุงเท้าแรกแล้วแบบคู่จับคู่ออกเป็น แน่นอนว่าผลลัพธ์เป็นแบบสุ่มและขึ้นอยู่กับลำดับการวาด เราคิดว่าคำสั่งซื้อรูปวาดทั้งหมดมีโอกาสเท่ากันดังนั้นในแต่ละครั้งที่มีการดึงถุงเท้าตัวเลือกจะเหมือนกันและเป็นอิสระจากตัวเลือกอื่น ๆ ทั้งหมด ตัวอย่าง ให้N = 3 , เพื่อให้เรามี 6 ถุงเท้ารวมป้ายAABBCC หนึ่งในการทำงานที่เป็นไปได้ของ "sock-drawing protocol" มีดังต่อไปนี้: | Pile | Drawer | Pairs Begin | AABBCC | - | - …
16 code-golf  random 

17
รถไฟเกียร์หมุน
Gears ถ่ายโอนความเร็วที่แตกต่างกันขึ้นอยู่กับขนาดของเฟืองตาข่าย แจ็คมีเครื่องจักรที่หมุน Gear Train แต่คุณไม่รู้ความเร็วของเกียร์สุดท้าย โชคดีที่คุณเป็นนักกอล์ฟที่ยอดเยี่ยมดังนั้นคุณสามารถช่วยเขาได้! ดังนั้นฉันควรทำอย่างไร แต่ละเกียร์จะมีตัวเลข 2 ตัวรัศมีของเกียร์ภายในและรัศมีของเกียร์ด้านนอก ถ้าเกียร์Aเป็น[a,b]เกียร์Bเป็น[c,d]แล้วอัตราส่วนระหว่างความเร็วของAและความเร็วของการจะเป็นBc:b รับรายการของเกียร์ (รายการของ 2-tuples), ส่งออกความเร็วของเกียร์สุดท้าย คุณสามารถสมมติความเร็วของเกียร์แรก1ได้ ทำงานออกมาเป็นตัวอย่าง [[6,12],[3,10],[5,8]]สมมติว่าการป้อนข้อมูลของเราคือ เกียร์แรกจะมีความเร็วของ[6,12]1 จากนั้นเกียร์ที่สองจะมีความเร็วของ[3,10]1*12/3 = 4 จากนั้นเกียร์ที่ผ่านมาจะมีความเร็วของ[5,8]4*10/5 = 8 Testcases input output [[1,1],[2,2]] 0.5 (1/2) [[1,2],[1,2],[1,2]] 4 (2/1*2/1) [[6,12],[3,10],[5,8]] 8 (12/3*10/5) กฎระเบียบ ใช้กฎพื้นฐานของรหัสกอล์ฟ
16 code-golf 

2
ประโยคปกติ
เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสายเข้าและค่าเบี่ยงเบนมาตรฐานσผลผลิตที่สตริงตามเส้นโค้งการแจกแจงแบบปกติที่มีค่าเฉลี่ยส่วนเบี่ยงเบนมาตรฐาน0σ เส้นโค้งการแจกแจงปกติ yพิกัดของตัวละครแต่ละตัวcคือ: ที่σจะได้รับเป็น input และสถานที่ที่xเป็นแกนประสานงานของxc อักขระที่อยู่ตรงกลางของสตริงมี x = 0ตัวละครในใจกลางของสตริงมีหากความยาวของสตริงเป็นเลขคู่สามารถเลือกอักขระกลางสองตัวใดตัวหนึ่งเป็นกึ่งกลาง ตัวละครจะถูกคั่นด้วยขั้นตอนของ0.1(เช่นตัวละครทางด้านซ้ายของศูนย์หนึ่งมีx = -0.1ตัวละครหนึ่งทางด้านขวาของกลางมีx = 0.1ฯลฯ ) การพิมพ์สตริง 0.1สายเช่นตัวอักษรจะถูกคั่นด้วยขั้นตอนของ ตัวละครแต่ละตัวจะพิมพ์อยู่บนบรรทัดที่มีyค่าที่ใกล้เคียงกับของตัวเองyค่า (ถ้ามีค่าเป็นแม่นยำในระหว่างค่าของทั้งสองสายให้เลือกอย่างใดอย่างหนึ่งที่มีค่าที่ใหญ่ที่สุด (เช่นเดียวกับวิธีการที่roundมักจะให้ผลตอบแทน1.0สำหรับ0.5)) ตัวอย่างเช่นถ้าyพิกัดของค่ากลาง (เช่นค่าสูงสุด) เป็น0.78และyพิกัดของตัวอักษรตัวแรกเป็น0.2แล้วจะมี 9 สาย: ตัวศูนย์ถูกพิมพ์บนเส้นและตัวอักษรตัวแรกถูกพิมพ์ในบรรทัด08 อินพุตและเอาต์พุต คุณสามารถรับทั้งอินพุต (สตริงและσ) เป็นอาร์กิวเมนต์ของโปรแกรม, ผ่านSTDIN, อาร์กิวเมนต์ของฟังก์ชันหรือสิ่งอื่นที่คล้ายกันในภาษาของคุณ สตริงจะมีASCIIอักขระที่พิมพ์ได้เท่านั้น สตริงสามารถว่างเปล่า σ > 0. คุณสามารถพิมพ์ผลลัพธ์ไปยังSTDOUTในไฟล์หรือส่งคืนจากฟังก์ชัน ( ตราบเท่าที่มันเป็นสตริงและไม่พูดรายการของสตริงสำหรับแต่ละบรรทัด) บรรทัดใหม่ต่อท้ายเป็นที่ยอมรับ ช่องว่างต่อท้ายเป็นที่ยอมรับตราบใดที่ไม่ทำให้บรรทัดยาวเกินกว่าความยาวบรรทัดสุดท้าย (ดังนั้นจึงไม่มีช่องว่างต่อท้ายที่ยอมรับได้ในบรรทัดสุดท้าย) กรณีทดสอบ σ String 0.5 Hello, World! …
16 code-golf  math  string 

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