คำถามติดแท็ก geometry

ความท้าทายนี้มีจุดมุ่งหมายเพื่อแก้ไขโดยใช้จัดการหรือสร้างรูปร่างหรือโครงสร้างทางเรขาคณิตอื่น ๆ

28
ทำเสื้อคลุมคำง่ายๆ
(หมายเหตุ: นี่คือคำถามรหัสกอล์ฟครั้งแรกของฉัน แต่เท่าที่ฉันสามารถบอกได้ไม่มีใครทำอย่างนี้ดังนั้นฉันควรจะดี) งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงsและจำนวนเต็มnและส่งคืนหรือส่งออกข้อความที่ห่อเป็นหลายบรรทัด แต่ละคำต้องอยู่ในบรรทัดทั้งหมด กล่าวคือไม่มีคำแยกกลาง แต่ละบรรทัดต้องมีความยาวไม่เกินnอักขระและคุณต้องใส่คำให้มากที่สุดเท่าที่จะทำได้ในแต่ละบรรทัด ตัวอย่าง: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

3
ฉันต
หมายเหตุ: ชื่อของคำถามนี้ควรเป็น "Loop It" แต่เนื่องจากหัวเรื่องต้องมีอย่างน้อย 15 ตัวอักษรจึงมีช่องว่างที่มองไม่เห็น หมายเหตุนี้เป็นสิ่งที่ท้าทายสามารถค้นหาได้ ท้าทาย เมื่อพิจารณารายการของจุดอินทิกรัลเฉพาะที่ไม่ซ้ำใครในเครื่องบินให้หารูปหลายเหลี่ยมที่มีจุดยอดเป็นจุดเหล่านั้นซึ่งไม่ได้ตัดกันด้วยตนเอง รายละเอียด ในฐานะที่เป็นอินพุตคุณสามารถรับเช่นสองรายการโดยแต่ละค่า x- และ y- พิกัดหรือรายการของคู่ รายการอินพุตมีอย่างน้อย 3 คะแนน โปรดทราบว่านี่หมายความว่าจะไม่มีทางแก้ปัญหาที่ไม่เหมือนใคร รายการของอินพุตสามารถสันนิษฐานได้ว่าไม่เป็นแบบเชิงเส้น (จุดไม่สามารถมีอยู่ในหนึ่งบรรทัด) ซึ่งหมายความว่ามีรูปหลายเหลี่ยมที่ไม่ตัดกันด้วยตนเอง มุมที่จุดสุดยอดแต่ละจุดนั้นไม่เจาะจงซึ่งรวมถึง 180 ° สำหรับการป้อนข้อมูลของความยาวnเอาท์พุทควรจะมีการเปลี่ยนแปลง(p1,p2,p3,...,pn)ของ(1,2,3,...,n)ที่kรายการ -th pkหมายถึงpจุด -th ในรายการการป้อนข้อมูล ซึ่งหมายความว่าเรามีเส้นจากp1ที่จะp2สายจากp2การp3ฯลฯ เช่นเดียวกับสายจากไปpn p1(นอกจากนี้คุณยังสามารถใช้ดัชนีที่เป็น 0) หรือคุณสามารถส่งออกรายการของจุดอินพุตตามลำดับที่ถูกต้อง ตัวอย่าง สมมติว่าเรามีคะแนน[(0,0),(0,1),(1,0),(-1,0),(0,-1)]และเราต้องการเป็นตัวแทนเส้นทางต่อไปนี้: ซึ่งหมายความว่าเราจะส่งออกรายการ [5,1,4,2,3] ต่อไปนี้เป็นคำแนะนำเพิ่มเติมลอง (ฉันขอแนะนำให้ดูที่แผนการที่สอดคล้องกันเพื่อตรวจสอบเป้าหมาย) Triangle [(0,0),(0,1),(1,0)] S-Curve [(0,0),(0,1),(0,2),(0,3),(0,4),(1,0),(2,0),(2,1),(2,2),(2,3),(2,4),(3,4),(4,0),(4,1),(4,2),(4,3),(4,4)] L-Shape [(4,0),(1,0),(3,0),(0,0),(2,0),(0,1)] Menger Sponge …

10
วงกลมสองสีที่ทับซ้อนกัน
เขียนโปรแกรมหรือฟังก์ชั่นที่รับอินพุตต่อไปนี้ในรูปแบบที่เหมาะสมตามที่คุณต้องการ: จำนวนเต็มบวกสองจำนวน W และ H ที่กำหนดความกว้างและความสูงของภาพที่คุณกำลังสร้าง สองสี RGB C1 และ C2 ที่จะใช้ในการสีภาพ รายการ 3-tuples ของรูปแบบ(r, x, y)ที่กำหนดวงกลมด้วยรัศมีrและกึ่งกลางx, yในระนาบของภาพ rเป็นจำนวนเต็มบวกและxและyเป็นจำนวนเต็มใด ๆ พิกเซลด้านซ้ายบนของภาพคือ0, 0และแกน x เพิ่มขึ้นไปทางขวาและแกน y เพิ่มขึ้นลง เอาท์พุทภาพที่มีขนาด W คูณ H ที่ทำสีด้วย C1 และ C2 ซึ่งไม่มีบริเวณใกล้เคียงสองแห่งที่กำหนดโดยวงกลมที่ทับซ้อนกันทั้งหมดเป็นสีเดียวกัน ตัวอย่างเช่น:ถ้าอินพุตคือ W = 300 H = 200 C1 = (255, 200, 0) C2 = (128, …

30
รับตัวเลขสุ่ม n ตัวเลขด้วยตัวเลขที่แตกต่างกันและไม่ใช่ 0
ฉันอ่านคำถามนี้และคิดว่ามันจะเป็นการท้าทายที่ดี งาน ให้อินพุต0<n<10สร้างตัวเลขสุ่มด้วย ตัวเลขที่แน่นอน ครั้งแรกไม่ได้ 0 ดังนั้น f(n)>10**(n-1)-1 ตัวเลขที่แตกต่างกัน เกณฑ์การชนะ นี่คือรหัส - กอล์ฟเพื่อให้ได้รหัสที่สั้นที่สุด สุ่ม ฉันหมายถึงการกระจายแบบสุ่มอย่างสม่ำเสมอ ดังนั้นจากมุมมองของโปรแกรมแต่ละหมายเลขที่เป็นไปได้มีโอกาสเดียวกัน หากภาษาที่คุณกำลังเขียนมีตัวสร้างตัวเลขสุ่มแปลก ๆ ก็ไม่เป็นไรที่จะใช้มัน ตัวอย่าง รายการค่าที่จะเลือกแบบสุ่มสำหรับn=2คือ: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

1
แก้ Grid-Tangram
Tangramเป็นปริศนาผ่าที่ทำจากเจ็ดรูปร่าง: ห้าเหลี่ยมขนาดแตกต่างกันสี่เหลี่ยมด้านขนานและตาราง เมื่อกำหนดรูปร่างเป้าหมายจะสร้างรูปร่างขึ้นใหม่โดยใช้ชิ้นส่วนทั้งหมดและไม่ทับซ้อนกัน เห็นได้ชัดว่ามีหลายวิธีในการจัดเรียงชิ้นส่วนนี้บนเครื่องบิน เซตย่อยที่น่าสนใจคือ ตารางกริด เราสามารถวาดสี่เหลี่ยมจัตุรัส Tangram "มาตรฐาน" ลงในสี่เหลี่ยมจัตุรัสที่ใหญ่กว่าซึ่งแบ่งออกเป็นตารางย่อยเป็นสี่เหลี่ยมจัตุรัสเล็ก ๆ 16 อัน tangrams เป็นเพียงรูปทรงที่สร้างขึ้นจากชิ้นส่วน tangram เช่นว่าจุดยอดทั้งหมดของชิ้นส่วนที่อยู่ในจุดตาราง นี่คือปริศนา Tangram ประเภทที่เราต้องการพิจารณาในการท้าทายนี้เนื่องจากพวกมันอาจจะจัดการได้ง่ายกว่าปริศนาทั่วไป ตามหมายเหตุด้าน: นักคณิตศาสตร์จีน Chuan-Chin Hsiung และ Fu Traing Wang พิสูจน์ในปี 1942 ว่ามีเพียง 13 tangrams นูน ก่อนอื่นพวกเขาแสดงให้เห็นว่าปัญหาสามารถลดลงเป็นเส้นตารางกราฟแล้วใช้อาร์กิวเมนต์ combinatorial และเรขาคณิต เหล่านี้คือทั้งหมดที่ 13: ท้าทาย ให้แกรมแกรมที่แก้ไขได้เอาท์พุทการแยกแกรมแกรมออกเป็นเจ็ดแกรม IO tangram ให้เป็นภาพขาวดำ (รูปร่างเป็นสีดำ, พื้นหลังเป็นสีขาว) โดยทั้งสองฝ่ายทวีคูณ 50px ตารางมีความกว้าง 50px …

10
สแควร์นี้สมมาตรหรือไม่
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในกริดข้อความ 4 × 4 ซึ่งประกอบด้วย 4 A, 4 B, 4 Cและ 4 Dเช่น: ACDC BBCA BADD ABCD ABCD's อาจจะอยู่ในการจัดเรียงใด ๆ แต่มีจะเป็น 4 ของแต่ละ คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นถูกต้อง ถ้าต้องการคุณยังสามารถสันนิษฐานได้ว่าจะมีการขึ้นบรรทัดใหม่และ / ACDCBBCABADDABCDหรือว่ามันจะมาเป็นหนึ่งบรรทัดในการอ่านคำสั่งเช่น นอกจากนี้คุณยังสามารถแทนที่อักขระABCDด้วย0123หรือ1234ตามลำดับหากต้องการ (แต่นั่นคือทั้งหมด) ส่งออกค่าความจริงหากตารางข้อความมีรูปแบบของการสะท้อนแสงหรือสมมาตรหมุนใด ๆ โดยเฉพาะ: หากมีเส้นแนวนอนกลางของสมมาตร เช่น BACD BACD BACD \___ bottom mirrors top BACD / หากมีเส้นแนวตั้งกลางของสมมาตร เช่น BCCB DAAD CAAC BDDB \/___ …

30
ระยะห่างระหว่างจุดสองจุดในปริภูมิมิติ
นี่คืออีกวิธีง่าย ๆ : ความท้าทาย เมื่อกำหนดสองจุดในพื้นที่ n- มิติให้ส่งออกระยะห่างระหว่างพวกเขาหรือที่เรียกว่าระยะทางแบบยุคลิด พิกัดจะเป็นจำนวนตรรกยะ ข้อ จำกัด เพียงข้อ จำกัด ของภาษาของคุณ ขนาดต่ำสุดคือ 1 สูงสุดเป็นสิ่งที่ภาษาของคุณสามารถจัดการได้ คุณอาจสมมติว่าจุดสองจุดนั้นมีขนาดเท่ากันและจะไม่มีอินพุตว่าง ระยะทางจะต้องถูกต้องไปยังตำแหน่งทศนิยมอย่างน้อย 3 ตำแหน่ง หากภาษาของคุณไม่รองรับหมายเลขทศนิยมให้เอาท์พุททั้งจำนวนที่ใกล้ที่สุด กฎระเบียบ อนุญาตให้ใช้ฟังก์ชันหรือโปรแกรมเต็มรูปแบบตามปกติ อินพุตอาจถูกนำมาจาก STDIN, บรรทัดคำสั่งหรือฟังก์ชันอาร์กิวเมนต์ รูปแบบการป้อนข้อมูลขึ้นอยู่กับคุณระบุว่าคุณใช้รูปแบบใดในคำตอบ เอาต์พุตอาจถูกจัดเตรียมโดยการพิมพ์ไปยัง stdout หรือค่าส่งคืน นี่คือโค้ดกอล์ฟที่ชนะการนับไบต์ต่ำที่สุด! ในกรณีที่เสมอกันคำตอบก่อนหน้านี้ชนะ กรณีทดสอบ แต่ละจุดถูกแสดงด้วยรายการความยาว n [1], [3] -> 2 [1,1], [1,1] -> 0 [1,2], [3,4] -> 2.82842712475 [1,2,3,4], [5,6,7,8] -> …

10
ต่อแผ่นระนาบกับวงกลมที่ถูกดัดแปลงนี้
นำหน่วยวงกลมตรงกลางที่จุดกำเนิด ในจตุภาคที่อยู่ใกล้เคียงสองจุดให้สะท้อนโค้งของวงกลมข้ามเส้นที่เชื่อมระหว่างจุดตัดแกน x และ y ด้วยรูปร่างที่ได้คุณสามารถเรียงแผ่นระนาบ: ฉันสร้างภาพนี้ด้วยกล่องทรายฟิสิกส์ 2D สุดยอด Algodoo ! เขียนโปรแกรมที่ให้ภาพคล้ายกับภาพนี้ในรูปแบบไฟล์ภาพ lossless ทั่วไปบางรูปแบบ คุณสามารถบันทึกภาพเป็นไฟล์ที่มีชื่อที่คุณเลือกหรือคุณอาจแสดงมัน ไม่ควรป้อนข้อมูลใด ๆ กฎ: ทั้งภาพจะต้อง tessellated กับกระเบื้องปรับเปลี่ยนวงกลมโดยใช้สองสี RGB ที่แตกต่างกันทางสายตาหนึ่งสำหรับกระเบื้องในแนวตั้งชี้หนึ่งสำหรับกระเบื้องแนวนอนชี้ รัศมีของแผ่นวงกลมควรมีอย่างน้อย 32 พิกเซล (รัศมีในภาพด้านบนมีประมาณ 110 พิกเซล) รูปภาพควรมีขนาดอย่างน้อย 4 แผ่นและสูง 4 แผ่น สิ่งนี้รวมกับกฎข้างต้นหมายความว่ารูปภาพสามารถมีขนาดขั้นต่ำ 256 × 256 พิกเซล (ภาพด้านบนคือ 4 แผ่นโดย 4 แผ่น) tessellation อาจถูกแปลด้วยจำนวนเงินใด ๆ ตัวอย่างเช่นมุมซ้ายบนของรูปภาพไม่จำเป็นต้องเป็นจุดสุดยอดที่แผ่นกระเบื้องมาบรรจบกัน (tessellation ไม่ควรหมุนอย่างไรก็ตาม) …

7
ครอบคลุมภูมิภาคที่มีรูปสี่เหลี่ยมผืนผ้า
อินพุต ข้อมูลที่คุณป้อนในการท้าทายนี้คือรายการคู่จำนวนเต็ม พวกเขาเป็นตัวแทนของมุมหน่วยตะวันตกเฉียงใต้ของหน่วยสี่เหลี่ยมบนเครื่องบินและรายการแสดงถึงสหภาพของพวกเขาเป็นส่วนย่อยของเครื่องบิน ตัวอย่างเช่นรายการ [(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2)] แสดงถึงชุดสีแดงในภาพนี้: เอาท์พุต Yor output เป็นรายการของ quadruples จำนวนเต็มซึ่งเป็นตัวแทนเซ็ตย่อยของเครื่องบิน อย่างชัดเจนมากขึ้นเป็นสี่เท่า(x,y,w,h)reperents สี่เหลี่ยมผืนผ้ากว้างw > 0และความสูงที่มีมุมตะวันตกเฉียงใต้ที่h > 0 (x,y)สี่เหลี่ยมต้องเป็นรูปแบบที่ถูกต้องครอบคลุมของภูมิภาคอินพุตในแง่ที่ว่าแต่ละหน่วยสี่เหลี่ยมเป็นส่วนย่อยของสี่เหลี่ยมบางส่วนแต่ละสี่เหลี่ยมเป็นส่วนย่อยของภูมิภาคและสองสี่เหลี่ยมอาจทับซ้อนกันที่ชายแดนของพวกเขาเท่านั้น ในการห้ามวิธีแก้ปัญหาเล็ก ๆ น้อย ๆ การครอบคลุมจะต้องไม่มีสี่เหลี่ยมสองรูปที่สามารถผสานเป็นสี่เหลี่ยมขนาดใหญ่กว่าได้ ตัวอย่างเช่นรายการ [(0,0,2,1),(0,1,3,1),(1,2,2,1)] แสดงถึงความคุ้มครองทางกฎหมาย ของภูมิภาคด้านบนในขณะที่ครอบคลุมโดย [(0,0,2,2),(2,1,1,1),(1,2,1,1),(2,2,1,1)] เป็นสิ่งผิดกฎหมายเนื่องจากสี่เหลี่ยม 1 ต่อ 1 ที่อยู่ใกล้เคียงสามารถรวมกันได้: กฎระเบียบ คุณสามารถให้โปรแกรมเต็มหรือฟังก์ชั่น การจัดรูปแบบที่แม่นยำของอินพุตและเอาต์พุตไม่สำคัญเนื่องจากเหตุผล การนับไบต์ที่สั้นที่สุดชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต ขอแนะนำให้คุณอธิบายอัลกอริทึมของคุณและตัวอย่างผลลัพธ์บางส่วน กรณีทดสอบ ภูมิภาครูปตัวยู: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,0),(2,1),(3,0),(3,1),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5)] สามเหลี่ยมขนาดใหญ่: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(7,0),(7,1),(7,2),(8,0),(8,1),(9,0)] สี่เหลี่ยมจัตุรัสที่มีรู: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(3,0),(3,1),(3,2),(3,4),(3,5),(3,6),(3,7),(3,8),(3,9),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,7),(5,8),(5,9),(6,1),(6,2),(6,3),(6,5),(6,6),(6,7),(6,8),(6,9),(7,0),(7,1),(7,2),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,4),(9,5),(9,6),(9,7),(9,8),(9,9)] ภูมิภาคที่ไม่เชื่อมต่อ: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,6),(1,7),(1,8),(1,9),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(4,0),(4,1),(4,2),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(5,7),(5,8),(5,9),(6,0),(6,1),(6,2),(6,4),(6,5),(6,6),(6,7),(6,8),(6,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,7),(9,8),(9,9),(10,0),(10,1),(10,2),(10,3),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9)] ตรวจสอบ ใช้นี้งูหลาม …

3
การวาด Epicyclogons
เอพิไซคลอยด์เป็นเส้นโค้งจุดบนวงกลมทำให้เป็นมันม้วนรอบวงกลมอีก cyclogonเป็นรูปร่างจุดบนเป็นรูปเหลี่ยมปกติทำให้เป็นมันม้วนทั่วเครื่องบิน epicyclogonเป็นเส้นโค้งตรวจสอบโดยจุดบนเหลี่ยมปกติหนึ่งขณะที่มันม้วนรอบอีก เขียนโปรแกรมที่ดึง epicyclogon ที่กำหนดr, r1, r2, n1, n2: r = number of clockwise revolutions rolling polygon makes around stationary polygon (any real number as limited by float values) r1 = distance from center of stationary polygon to each of its vertices (positive real number) r2 = distance from …

5
นับสี่เหลี่ยมในเส้นทแยงมุม
จากการติดตามความท้าทายนี้เราต้องการนับจำนวนสี่เหลี่ยมในตารางด้วยแถวrและคอลัมน์cที่มีเส้นตรงข้ามผ่านเส้นทแยงมุมทุกตารางในตาราง ทีนี้เรายังคงนับสี่เหลี่ยมเหมือนเดิม แต่คราวนี้เราต้องรวมสี่เหลี่ยมที่เอียง 45 องศาด้วย เป้าหมายของคุณคือการสร้างฟังก์ชั่นหรือโปรแกรมที่กำหนดจำนวนแถวrและคอลัมน์cส่งออกจำนวนสี่เหลี่ยมในตารางเส้นทแยงมุมที่มีขนาด ( r , c ) เป็นการสาธิตนี่เป็นแอนิเมชั่นที่วนซ้ำทั้ง 37 รูปที่เกิดจากเส้นทแยงมุม (2 x 3) กรณีทดสอบ Each case is [rows, columns] = # of rectangles [0, 0] = 0 [0, 1] = 0 [1, 0] = 0 [1, 1] = 1 [3, 2] = 37 [2, 3] = …

2
ขอบของวงกลมที่ทับซ้อนกัน
กำหนดพิกัดของจุดหลายจุดบนระนาบและรัศมีของวงกลมล้อมรอบแต่ละจุดวาดรูปหลายเหลี่ยมที่เป็นตัวแทนของวงกลมและขอบที่วงกลมมาบรรจบกัน ขอบตรงจะลดลงตามแนวจุดตัดวงกลม - วงกลมแต่อาจไม่ยาวตามความยาวเต็มของเส้นเหล่านี้ ตามคำแนะนำของmbomb007ลองจินตนาการถึงพฤติกรรมของฟองสบู่ 2 มิติ นั่นเป็นความผิดพลาดทางเทคนิคเพราะฟองสบู่จะพบกันที่มุม 120 °เพื่อลดพลังงานในขณะที่วงกลมเหล่านี้อาจพบกันที่มุมใดก็ได้ นี่คือแผนภาพ Voronoi ลบระนาบพื้นที่ที่กำหนด ขอบคุณAndreas นี้เป็นจริงทั่วไปของแผนภาพ Voronoi เรียกว่าแผนภาพพลังงาน ตัวอย่าง ตัวอย่างเช่นเมื่อกำหนดสองจุดและสองรัศมีแล้วเอาต์พุตอาจมีลักษณะเช่นนี้: เพิ่มจุดและรัศมีอื่นและผลลัพธ์อาจมีลักษณะเช่นนี้: อินพุต คุณสามารถจัดโครงสร้างอินพุตได้ตามต้องการ กรุณาโพสต์ผลลัพธ์ด้วยอินพุตต่อไปนี้ ทดสอบ 1 x: 10, y: 10, r: 10 x: 25, y: 12, r: 8 ทดสอบ 2 x: 8, y: 10, r: 6 x: 20, y: 8, r: …

9
การตรวจจับสี่เหลี่ยมผืนผ้า
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงหลายบรรทัดของ0's และ1' s ไม่มีอักขระอื่นใดที่อยู่ในสตริงและสตริงจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ (ทุกบรรทัดจะมีจำนวนอักขระเหมือนกัน) โดยมีขนาดเล็กเท่ากับ 1 × 1 แต่ไม่เช่นนั้นตัวอักษร0และ1ของอาจถูกจัดเรียงโดยพลการ คุณอาจจะสมมติสตริงมีการขึ้นบรรทัดใหม่ต่อท้ายตัวเลือกและถ้าต้องการคุณอาจใช้ใด ๆ ที่แตกต่างกันสองASCII พิมพ์ตัวอักษรในสถานที่และ01 พิมพ์หรือส่งกลับค่า truthyถ้าทั้งหมดของเส้นทางเชื่อมต่อภูมิภาคของทั้งสอง0'และ1' s ในสตริงเป็นรูปสี่เหลี่ยมที่เป็นของแข็งอื่นส่งออกมูลค่า falsy เส้นทางพื้นที่เชื่อมต่อของ0's หมายความว่าจากคนใดคนหนึ่ง0ในภูมิภาคอื่น ๆ ทั้งหมดที่0' s สามารถเข้าถึงได้โดยเฉพาะการเคลื่อนย้ายขึ้นลงซ้ายและขวาเพื่ออื่น ๆ0's (และไม่ได้ย้ายแนวทแยงมุมไม่ได้ย้ายไปอยู่ที่ใด1และไม่เคลื่อนไหวนอกขอบเขตของสตริง) แนวคิดเดียวกันนี้นำไปใช้กับ1ภูมิภาคที่เชื่อมต่อเส้นทาง สี่เหลี่ยมแข็งของ0's หมายถึงพื้นที่ทั้งหมดของสี่เหลี่ยมที่เต็มไปด้วย0' และไม่มี1's แนวคิดเดียวกันนี้ใช้กับ1สี่เหลี่ยมทึบ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ Tiebreaker เป็นคำตอบก่อนหน้า (โปรดสังเกตว่าสตริงไม่ได้ล้อมรอบด้วยเงื่อนไขขอบเขต toroidal ) ตัวอย่าง 1)สตริงอินพุตนี้มีพื้นที่การเชื่อมต่อ 3 เส้นทาง (2 สำหรับ0และ 1 สำหรับ1) เฉพาะพื้นที่ด้านล่างขวาเท่านั้นที่00เป็นรูปสี่เหลี่ยมผืนผ้าที่มั่นคงดังนั้นเอาต์พุตจะเป็นเท็จ 0011 0111 0100 …

8
หนังสือเวียนบลูส์
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N และสร้างรูปแบบวงกลมที่ปรับขนาดนี้ให้พอดีกับภาพพิกเซล N × N: ภาพนี้เป็นตัวอย่างเอาต์พุตที่ถูกต้องสำหรับ N = 946 ในกรณีที่มันไม่ชัดเจนวงกลมสีฟ้าอ่อนทั้งหมดมีรัศมีเดียวกันและวางในวงกลมสีน้ำเงินเข้มทั้งสี่ในลักษณะเดียวกัน วงกลมสีน้ำเงินเข้มนั้นมีรัศมีเป็นสองเท่าและอยู่ในตำแหน่งที่คล้ายกันในวงกลมสีฟ้าอ่อนขนาดใหญ่ อาจใช้สีที่ต่างกันสองสีใด ๆ แทนสีน้ำเงินสองเฉด สี่เหลี่ยมพื้นหลังไม่จำเป็นต้องมีสี ต่อต้านนามแฝงเป็นตัวเลือก บันทึกภาพไปยังไฟล์แสดงหรือท่อข้อมูลภาพดิบเพื่อ stdout อนุญาตรูปแบบไฟล์ภาพทั่วไปใด ๆ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ บราวนี่ให้คะแนนถ้าคุณขยายมุมมองแบบวนซ้ำของรูปแบบวงกลมนี้ไปยังระดับต่อไป (แยกความแตกต่างนี้ออกจากรายการท้าทายของคุณ)

3
การตรวจจับการชนกันของ 2D
ความท้าทายนี้ขึ้นอยู่กับการตรวจจับการชนจริงที่ฉันได้เขียนสำหรับเกมง่ายๆเมื่อเร็ว ๆ นี้ เขียนโปรแกรมหรือฟังก์ชั่นที่ให้วัตถุสองชิ้นคืนค่าจริงหรือค่าเท็จขึ้นอยู่กับว่าวัตถุทั้งสองอยู่ในการชนกัน (เช่นตัดกัน) หรือไม่ คุณต้องรองรับวัตถุสามประเภท: กลุ่มสาย : ตัวแทนจาก 4 ลอยระบุสองจุดสิ้นสุดคือ(x 1 , y 1 )และ(x 2 , y 2 ) คุณอาจสมมติว่าจุดสิ้นสุดไม่เหมือนกัน (ดังนั้นส่วนของเส้นจะไม่ลดลง) แผ่น : คือเต็มไปวงการตัวแทนจาก 3 ลอยสองสำหรับศูนย์(x, y)และหนึ่ง (บวก) สำหรับรัศมีR ฟันผุ : สิ่งเหล่านี้เป็นส่วนประกอบของดิสก์ นั่นคือโพรงเติมเต็มพื้นที่ 2 มิติทั้งหมดยกเว้นพื้นที่วงกลมซึ่งระบุโดยจุดศูนย์กลางและรัศมี โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับวัตถุสองชนิดนี้ในรูปแบบของจำนวนเต็มที่ระบุ (ที่คุณเลือก) และ 3 หรือ 4 อัน คุณสามารถรับอินพุตผ่าน STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชัน คุณอาจเป็นตัวแทนของอินพุตในรูปแบบที่สะดวกใด …

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