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

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

6
พื้นที่ของลำเรือนูน 2 มิติ
คุณจะได้รับอาร์เรย์ / รายการ / เวกเตอร์ของคู่จำนวนเต็มแทนพิกัดคาร์ทีเซียนของจุดบนระนาบแบบยุคลิดแบบ 2D; พิกัดทั้งหมดอยู่ระหว่างถึงอนุญาตการทำซ้ำ ค้นหาพื้นที่ของตัวเรือนูนของจุดเหล่านั้นปัดเศษให้เป็นจำนวนเต็มที่ใกล้เคียงที่สุด จุดกึ่งกลางที่แน่นอนควรถูกปัดเศษเป็นจำนวนเต็มคู่ที่ใกล้เคียงที่สุด คุณอาจใช้ตัวเลขทศนิยมในการคำนวณระดับกลาง แต่เฉพาะในกรณีที่คุณสามารถรับประกันได้ว่าผลลัพธ์สุดท้ายจะถูกต้องเสมอ นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่ถูกต้องที่สุดจะเป็นผู้ชนะ(x,y)(x,y)(x, y)- 104-104−10^410410410^4 เปลือกนูนของชุดของจุดเป็นชุดนูนเล็กที่สุดที่มีPบนระนาบแบบยุคลิดสำหรับจุดใดจุดหนึ่งมันคือจุดนั้น สำหรับสองจุดที่แตกต่างมันเป็นเส้นที่บรรจุพวกมันสำหรับสามจุดที่ไม่ใช่ collinear มันเป็นรูปสามเหลี่ยมที่พวกมันก่อตัวขึ้นเป็นต้นPPPPPP( x , y)(x,Y)(x,y) คำอธิบายภาพที่ดีเกี่ยวกับสิ่งที่ตัวเรือนูนอธิบายได้ดีที่สุดเมื่อนึกภาพทุกจุดเหมือนตะปูบนกระดานไม้แล้วยืดแถบยางรอบตัวพวกมันเพื่อล้อมรอบทุกจุด: กรณีทดสอบบางส่วน: Input: [[50, -13]] Result: 0 Input: [[-25, -26], [34, -27]] Result: 0 Input: [[-6, -14], [-48, -45], [21, 25]] Result: 400 Input: [[4, 30], [5, 37], [-18, …

11
จำลองแท็กวงจร Bitwise
ท้าทาย กำหนดสองสตริงในรูปแบบ I / O เริ่มต้นให้ทำดังต่อไปนี้: หมายเหตุ: ความท้าทายจะอ้างถึงสตริงแรกว่า "ข้อมูล" และที่สองเรียกว่า "โปรแกรม" เปลี่ยนโปรแกรมเป็นสตริงที่ไม่มีที่สิ้นสุดซึ่งเป็นเพียงโปรแกรมที่ทำซ้ำไม่สิ้นสุด (เช่น10-> 1010101010...) ความท้าทายจะอ้างถึงสิ่งนี้ว่า "โปรแกรมที่ไม่มีที่สิ้นสุด" ในขณะที่ข้อมูลไม่ว่างให้ทำดังต่อไปนี้ในขณะที่วนซ้ำโปรแกรมที่ไม่มีที่สิ้นสุด: หากคำสั่งปัจจุบันคือ "0" ให้ลบบิตซ้ายสุดในข้อมูล หากข้อมูลว่างเปล่า "0" จะไม่ทำอะไรเลย ข หากคำสั่งปัจจุบันคือ "1" ให้ผนวกอักขระตัวถัดไปในโปรแกรมเข้ากับข้อมูลหากบิตซ้ายสุดในข้อมูลเป็นหนึ่ง ค. ถ้าข้อมูลไม่ว่างตอนนี้ให้เอาท์พุทข้อมูล กรณีทดสอบ Data เป็นด้านซ้ายของอินพุตและโปรแกรมเป็นด้านขวา 100, 0 --> 00, 0 1111, 1 --> 11111, 111111, 1111111, ... 10, 011 --> 0, 0, 0 …

6
String Manipulation Interpreter
สรุป มีการสร้างภาษาการจัดการสตริงใหม่โดยใช้เฉพาะอักขระ$+#-!*|@>! งานของคุณคือการใช้ล่ามให้กับมันในไม่กี่ไบต์เท่าที่จะทำได้ อินพุต สตริงซึ่งเป็นบรรทัดเดียวของภาษานี้ สิ่งนี้สามารถดำเนินการได้ในวิธีที่สมเหตุสมผล (stdin, พารามิเตอร์ฟังก์ชัน, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) หรือเป็นตัวแปรที่กำหนดไว้ล่วงหน้า หากโปรแกรมขอการป้อนข้อมูลจากผู้ใช้ให้ยอมรับการป้อนข้อมูลจากผู้ใช้ทั้งหมดที่ร้องขอจาก stdinและไม่มีอะไรเพิ่มเติมดูด้านล่าง คุณอาจคิดว่ามันเป็นโปรแกรมที่ถูกต้อง เอาท์พุต สิ่งที่ภาษาจะออกข้อกำหนดรายละเอียดด้านล่าง คุณต้องส่งออกสตริงในลักษณะที่สมเหตุสมผล (stdout, ฟังก์ชั่นเอาท์พุท ฯลฯ ) หรือค่าตัวแปร เมื่อภาษาออกมาอย่างชัดเจนต้องไปที่ stdout ช่องโหว่มาตรฐานถูกแบน ข้อมูลจำเพาะภาษา การประมวลผลและไวยากรณ์ ภาษามีรูปแบบของการประมวลผลที่ง่ายมากเนื่องจากมีการจัดการสตริงเท่านั้น: เริ่มต้นด้วยสตริงว่าง ( "") และเปลี่ยนด้วยแต่ละคำ คำประกอบด้วยหนึ่งหรือสองส่วน: ฟังก์ชั่น (ด้านล่าง) ตามด้วยอาจเป็นพารามิเตอร์ (ด้านล่าง) ซึ่งแก้ไขพฤติกรรมของมัน ข้อกำหนดถูกคั่นด้วยไพพ์ ( |) คุณอาจคิดว่ามันจะไม่เป็นโปรแกรมเปล่าและไม่มีคำใดจะว่างเปล่า คุณควรส่งออกค่าในตอนท้ายของโปรแกรม ฟังก์ชั่น ภาษามีเพียง 6 ฟังก์ชันดังที่แสดงด้านล่าง แต่ละฟังก์ชั่นยอมรับพารามิเตอร์หนึ่งหรือศูนย์ + …

12
Magical Modulo Squares
ฉันเป็นแฟนตัวยงของทฤษฎีจำนวน สิ่งที่ยิ่งใหญ่ในทฤษฎีตัวเลขคือคณิตศาสตร์เลขคณิต ความหมายของการเป็น≡ ขa ≡ bพอควรม.a≡bmodma\equiv b\mod mและถ้าหากm ∣ a - bm∣a−bm\mid a-bข สิ่งที่สนุกที่ต้องทำคือการเพิ่มพลัง: โดยเฉพาะเมื่อโมดูลัสเป็นจำนวนเฉพาะ โดยเฉพาะอย่างยิ่งจะได้รับการพิสูจน์แล้วว่าถ้าและม.มีความสำคัญ (หุ้นปัจจัยไม่มีทั่วไปนอกเหนือจาก 1 ) จากนั้นมีอยู่จำนวนอีเมลดังกล่าวที่อี ≡ 1aaaม.mm111อีeeaอี≡ 1พอควรม.ae≡1modma^e\equiv 1\mod m . ฉันจะอธิบายว่าการออกกำลังกายเป็นอย่างไร ลองมาโมดูลัm = 7m=7m=7 7 ผลลัพธ์ที่เป็นไปได้ของโปรแกรมหรือฟังก์ชั่นจะเป็น: 3 2 6 4 5 1 2 4 1 2 4 1 6 1 6 1 6 1 …

1
ใช้ MENACE
พื้นหลัง Menace ( M achine E ducable N oughts ครั้งC Rosses E ngine) เป็นขั้นตอนวิธีการเรียนรู้เครื่องตื้นพื้นฐานสำหรับเอกซ์เกมและไม้กางเขนที่สร้างขึ้นโดยนักวิทยาศาสตร์คอมพิวเตอร์ชาวอังกฤษโดนัลด์ Michie ในปี 1960 แต่เดิมมันถูกนำไปใช้กับ 304 กลักไม้ขีดไฟแต่ละป้ายที่มีตำแหน่งกระดานและมีลูกปัดสี (กับหนึ่งในเก้าสีแสดงถึงการเคลื่อนไหวที่เป็นไปได้) Michie คำนวณว่า 304 matchboxes เหล่านี้เพียงพอสำหรับทุกการเคลื่อนไหวบนกระดาน ในทางคณิตศาสตร์มากขึ้นในหมู่คุณอาจรู้ว่ามีการรวมกันที่เป็นไปได้ของ Noughts, Crosses และ Blanks บนกระดาน N&C 19,683 อย่างไรก็ตามเขาคำนวณวิธีที่จะลดจำนวนนี้ (เพื่อเพิ่มความเร็วของอัลกอริทึมและมีแนวโน้มที่จะลดจำนวนในกล่องจับคู่!) ประการแรกเขาลบการเคลื่อนไหวที่เป็นไปไม่ได้ทั้งหมดเช่น: ------- |X|0|X| | |0| | |X|X| | ------- (สองเอกซ์และสี่ครอส) ถัดไปเขาชดเชยการหมุน ตัวอย่างเช่นหากอยู่ในกลักไม้ขีดไฟเราจะเห็น: ------- | …

3
ตำแหน่งที่ไม่ชัดเจนบนกริด
คุณมีหุ่นยนต์ตัวน้อยที่มีเซ็นเซอร์วัดระยะทางสี่ตัว มันรู้เลย์เอาต์ของห้อง แต่มันไม่มีความรู้สึกในการวางแนวอื่นนอกจากจะสามารถล็อคการวางแนวของกริด คุณต้องการที่จะหาว่าหุ่นยนต์อยู่บนพื้นฐานของการอ่าน แต่มันอาจจะคลุมเครือเพราะเซ็นเซอร์ จำกัด คำอธิบายการท้าทาย คุณจะได้รับเลย์เอาต์ของห้องและการอ่านระยะทางตามเข็มนาฬิกาสี่อันเพื่อบอกจำนวนเซลล์ระหว่างคุณกับกำแพง อาจมีกำแพงอยู่กลางห้องและขอบของตารางก็เป็นผนังเช่นกัน หุ่นยนต์ไม่สามารถวางบนผนัง วัตถุประสงค์ของคุณคือรายการสถานที่ทั้งหมดภายในห้องที่หุ่นยนต์อาจอยู่ในที่ที่จะให้การอ่านที่กำหนด โปรดทราบว่าหุ่นยนต์ไม่มีความรู้สึกในการวางแนว (นอกเหนือจากการถูกล็อคไปที่มุม 90 องศาบนกริด - นั่นคือหุ่นยนต์จะไม่ถูกวางแนวทแยงมุมหรือมุมเอียงอื่น ๆ ) ดังนั้นการอ่าน [1, 2, 3, ตัวอย่างเช่น 4] เหมือนกับการอ่าน [3, 4, 1, 2] ตัวอย่าง สำหรับตัวอย่างเหล่านี้พิกัดของเซลล์จะได้รับเป็นคู่ 0 ดัชนี (x, y) จากเซลล์ซ้ายบน การอ่านจะได้รับตามลำดับตามเข็มนาฬิกาในรายการวงเล็บเหลี่ยม เลย์เอาต์จะใช้เครื่องหมายปอนด์สำหรับกำแพงและตัวละครอื่น ๆ (โดยทั่วไปคือจุด) เพื่อแสดงเซลล์ว่าง กรณีที่ 1 . . . . . . …
11 code-golf  grid 

11
สร้างสายพิทเบสบอล
เป้าหมาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นจำนวนเต็มบวกnและสุ่มสร้างซีรีส์ทางกฎหมายของสนาม (ต่อจากนี้ไปเรียกว่าสตริงลาด) nของความยาว อินพุต จำนวนเต็มบวกที่ไม่เป็นศูนย์n<= 100 เอาท์พุต nกลับสตริงแบบสุ่มหรือรายการของตัวละครที่เป็นตัวแทนของความเป็นไปได้สตริงสนามที่ถูกต้องของความยาว ตัวละครที่ใช้จะเป็น: B - บอล หากคุณสะสม 4 สิ่งเหล่านี้แป้งจะถูกเดินและตีบอลจนหมด S - สไตรค์ หากคุณสะสม 3 สิ่งเหล่านี้แป้งจะหมดและลูกบอลหมด F - เหม็น จะเพิ่มจำนวนการโจมตี แต่ไม่สามารถทำการโจมตีได้ คือคุณไม่สามารถมี Foul เป็น pitch สุดท้ายในสตริงที่ถูกต้อง การฟาล์วที่ผ่านมาสองครั้ง / การฟาล์วจะไม่เพิ่มจำนวนการตี (การปะทะมี 2 ครั้ง ณ จุดนั้นและครั้งที่ 3 จะพาเขาออกไป) H - Hit ปะทะได้ตีลูกเข้าสู่การเล่นและเสร็จสิ้นการตี (สิ่งนี้ง่ายเล็กน้อย แต่คุณไม่ต้องเป็นห่วง) สายพิทช์ที่ถูกต้องคือสตริงที่จบในการนัดหยุดงานการเดินหรือการตี นั่นคือสตริงพิทช์ไม่ถูกต้องเช่นกัน …

9
มหาพีระมิดแห่งควิน
งานนี้เป็นความท้าทายที่ค่อนข้างง่ายด้วยการบิดคุณต้องเอาท์พุทซอร์สโค้ดของคุณในรูปของปิรามิด รูปร่างของปิรามิดมีการกำหนดไว้ด้านล่าง: 1 234 56789 ABCDEFG HIJKLMNOP QRSTUVWXYZa bcdefghijklmn ......etc...... ข้อ จำกัด หลักของความท้าทายนี้คือควินของคุณต้องมีจำนวนไบต์เพียงพอที่จะไม่ขัดขวางรูปแบบของปิรามิด ตัวอย่างเช่นความยาวของโปรแกรมต่อไปนี้จะใช้ได้: 1-byter: 1st layer of the pyramid (not allowed by definition of a quine). 4-byter: 1st and 2nd layers of the pyramid. 9-byter: 1st, 2nd and 3rd layers of the pyramid. etc... ดังนั้นหากโปรแกรมของคุณคือ: QWERTY มันจะไม่ถูกต้องเพราะมันจะจัดเรียงเช่น: Q WER …

2
เวิร์มของ Golf Paterson
หนอนของ Patersonเป็นหุ่นยนต์เซลลูล่าร์ชนิดหนึ่งที่มีอยู่บนกริดสามเหลี่ยมที่ไม่มีที่สิ้นสุดและทุกขั้นตอนพวกมันจะหมุนไปในทิศทางหนึ่ง คุณสมบัติที่กำหนดของพวกเขาคือพวกเขาไม่สามารถผ่านจุดเดิมได้สองครั้งและเมื่อใดก็ตามที่พวกเขาพบกับสภาพแวดล้อมเดียวกันพวกเขาก็ตัดสินใจเหมือนกัน หนอนจะ "มองเห็น" จากมุมมองของตัวเองเสมอโดยมีหางอยู่ที่ 3 และหัวของมันอยู่ตรงกลางของรูปหกเหลี่ยมนี้: ตัวอย่างเช่นพิจารณาหนอนด้วยกฎ: ถ้า 0, 1, 2, 4 และ 5 เป็นค่าว่างให้ย้ายไปในทิศทางที่ 2 ถ้า 0, 1, 4 และ 5 เป็นค่าว่างและเติม 2 ให้ย้ายไปในทิศทาง 0 หาก 0, 1 และ 5 เป็นค่าว่างและเติม 2 และ 4 ให้ย้ายในทิศทาง 0 ผลลัพธ์นี้ในเส้นทางต่อไปนี้ (จาก Wikipedia): หากเวิร์มพบว่าตัวเองอยู่ในสถานการณ์ที่สภาพแวดล้อมเต็มไปหมด อินพุต รายการตัวเลข หมายเลขที่ n ระบุว่าการตัดสินใจที่เวิร์มควรทำในสถานการณ์ใหม่ที่เกิดขึ้นนั้นต้องเผชิญกับการตัดสินใจที่ใด โปรดทราบว่าหากเต็ม แต่หนึ่งในสภาพแวดล้อมนั้นจะต้องย้ายไปในทิศทางเดียวที่ว่างเปล่า …

7
ประมาณสัดส่วนของจำนวนเต็มกับปัจจัยข้างเคียง
ถ้า 1 ไม่นับเป็นปัจจัยแล้ว 40 มีสองปัจจัยที่อยู่ใกล้เคียง (4 และ 5) 1,092 มีสองปัจจัยที่อยู่ใกล้เคียง (13 และ 14) 350 ไม่มีปัจจัยข้างเคียงสองตัว (จากปัจจัย 2, 5, 7, 10, 14, 25, 35, 50, 70, และ 175, ไม่มีสองติดต่อกัน) สัดส่วนของจำนวนเต็มบวกที่มีคุณสมบัตินี้คือสัดส่วนที่หารด้วย 6 (2 × 3), 12 (3 × 4), 20 (4 × 5), 30, 56, … หากเราคำนวณเพียงสัดส่วนที่หารได้ด้วยnแรกของเหล่านี้เราจะได้ค่าประมาณที่แม่นยำยิ่งขึ้นเมื่อnเพิ่มขึ้น ตัวอย่างเช่นสำหรับn = 1เราจะพบสัดส่วนของจำนวนเต็มหารด้วย 2 × …
11 code-golf  number 

30
ผลรวมจำนวนเต็มในสตริง
อินพุต สตริง. เอาท์พุต ผลรวมของจำนวนเต็มทั้งหมดในบรรทัด ข้อ จำกัด 1≤ความยาวของเส้น≤500 กรณีทดสอบตัวอย่าง อินพุต the 5is 108 seCONd4 a เอาท์พุต 117 คำอธิบาย ผลรวมคือ: 5 + 108 + 4 = 117

3
มันเป็นลำดับเลขคณิตเรขาคณิตหรือไม่?
ลำดับ arithmetico ทางเรขาคณิตเป็นผลิตภัณฑ์ elementwise ของลำดับเลขคณิตและลำดับเรขาคณิต ยกตัวอย่างเช่น1 -4 12 -32เป็นผลิตภัณฑ์ของลำดับเลขคณิตและลำดับเรขาคณิต1 2 3 4 1 -2 4 -8คำที่ n ของลำดับเลขคณิต arithmetico-geometric จำนวนเต็มสามารถแสดงเป็น an= rn⋅ ( ก0+ n d)an=rn⋅(a0+nd)a_n = r^n \cdot (a_0 + nd) สำหรับบางจำนวนจริงdddไม่ใช่ศูนย์จริงRrrและจำนวนเต็ม0 โปรดทราบว่าrและdไม่จำเป็นต้องเป็นจำนวนเต็มa0a0a_0Rrrddd ยกตัวอย่างเช่นลำดับ2 11 36 100 256 624 1472 3392มี0 = 2 , R = 2และd = 3.5a0= …

1
บอทเมาใกล้สายตาที่อ่อนไหวบนทุ่นระเบิด
ตามที่ชื่ออาจแนะนำปัญหานี้ได้รับแรงบันดาลใจมาจากบอท Polite Near- Sighted Drunkโดย @NP บอทที่น่าสงสารของเรานั้นถูกวางไว้บนตะแกรงคาร์ทีเซียนที่จุดกำเนิดและหลังจากนั้นทุกนาทีมันจะเคลื่อนที่ 1 ยูนิตในหนึ่งในสี่ทิศทาง (ขึ้น, ลง, ซ้าย, ขวา) หลังจากnนาทีเหมืองที่ซ่อนอยู่ทั้งหมดในกริดจะเปิดใช้งานเพื่อฆ่าบอทที่น่าสงสารที่อาจพบตัวเองอยู่เหนือพวกมัน เหมืองจะอยู่ที่พิกัดจำนวนเต็มทั้งหมดซึ่งเป็นไปตามสมการ | y | = | x | ท้าทาย คุณจะได้รับnจำนวนนาทีก่อนที่เหมืองระเบิดเป็น input และเอาท์พุทคุณจะต้องพบกับความน่าจะเป็นที่บอทเป็นตาย การป้อนข้อมูล : มีจำนวนธรรมชาติที่เป็นตัวแทนของn เอาต์พุต : ให้ความน่าจะเป็นที่บอทนั้นตายแล้วคือp / q, โดยที่ p และ q เป็นจำนวนเต็มจำนวนเต็ม (q ไม่สามารถเป็น 0, แต่ p สามารถ) p. กฎระเบียบ อัลกอริทึมของคุณจะต้องไม่ทำงานในแบบเอ็กซ์โพเนนเชียล มันควรจะทำงานในเวลาพหุนามหรือน้อยกว่า อัลกอริทึมของคุณจะต้องสามารถจัดการอินพุตของn<20 …

5
วางแผนปฏิทิน ASCII
รับรายการกิจกรรมและเวลา / วันที่เริ่มต้นส่งออกปฏิทิน ASCII-art ที่แสดงกิจกรรมในวันที่เหมาะสม กิจกรรมทั้งหมดได้รับการรับประกันว่าจะอยู่ในเดือนเดียวกันไม่มีกิจกรรมสองกิจกรรมในวันเดียวกันและกิจกรรมทั้งหมดจะได้รับการบรรจุภายในกล่องปฏิทิน ปฏิทินมีวันที่ที่มุมบนซ้ายของแต่ละกล่องกล่องมีช่องว่าง 9 ช่องกว้าง 5 ช่องสูงล้อมรอบด้วย-และ|และตัวย่อสองตัวอักษรสำหรับวันในสัปดาห์นั้นอยู่เหนือแถวแรกและสัปดาห์เริ่มต้นด้วยวันอาทิตย์ ตัวอย่างเช่นกำหนดกิจกรรมต่อไปนี้: 10/5/2018 - 9:00am - Sandbox calendar challenge 10/9/2018 - 9:00am - Post challenge to main 10/10/2018 - 10:00am - Profit 10/31/2018 - 7:30pm - Halloween party เอาท์พุทปฏิทินที่สอดคล้องกันนี้: Su Mo Tu We Th Fr Sa ----------------------------------------------------------------------- | |1 |2 …

16
จำนวนเฉพาะเป็นจำนวนมาก
ให้เป็นจำนวนมาก (ในฐาน 10) เช่น 1234567891011121314151617 ให้หา "subnumbers" ที่สำคัญในนั้น Prime "หมายเลขย่อย" คือลำดับของตัวเลขที่ต่อเนื่องกัน (นำมาจากอินพุต) ซึ่งแสดงถึงจำนวนเฉพาะ (ในฐาน 10) อินพุต : ตัวเลข (ทั้งสตริงไฟล์หรืออะไรก็ได้ที่คุณต้องการ) เอาท์พุท : หมายเลขย่อยหลักทั้งหมดแยกออกจากกัน (ในรายการไฟล์สตริงที่คั่นด้วยเครื่องหมายจุลภาค ... ) หากผลลัพธ์ว่างเปล่าคุณสามารถใช้การประชุมที่คุณชอบ (สตริงฮาร์ดโค้ดสตริงว่างเปล่าซึ่งพูดพล่อยๆ แต่โปรแกรมไม่ควร ชน ตัวอย่าง 1234 -> 2, 3, 23 6542 -> 5, 2 14 -> [.. เอาต์พุตที่ว่างเปล่า] นี่คือรหัสกอล์ฟ โปรแกรมที่สั้นที่สุดชนะ! [แก้ไข]: กฎเพิ่มเติมต้องอธิบายโปรแกรม! ไม่ใช่ทุกคนที่สามารถใช้ภาษาเยลลี่ได้อย่างคล่องแคล่ว :)

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