การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

7
พิมพ์จุดยอดของลูกบาศก์และสามเหลี่ยมครอบคลุม
พิกัดเอาต์พุตของจุดยอดของลูกบาศก์ จากนั้นออกรายการสามเหลี่ยม 12 อันที่จะครอบคลุมลูกบาศก์แต่ละสามเหลี่ยมเป็นรายการจุดยอดสามดัชนี เอาต์พุตต้องเป็นสตริง ASCII ของตัวเลขทศนิยมที่แตกต่างกัน กอล์ฟนี้ไม่มีอินพุท ผู้ชนะคือตัวละครที่น้อยที่สุดโดยที่ชุดอักขระคือ Unicode ตัวอย่างเช่นพิจารณาลูกบาศก์ 1x1x1 ที่มุมเป็น 0,0,0 แปดจุดยอดของลูกบาศก์สามารถอธิบายได้โดยพิกัด xyz ต่อไปนี้บนตารางคาร์ทีเซียน 3d: x y z = (0,0,1) (1,0,1) (1,1,1) (0,1,1) (0,0,0) (1,0,0) (1,1,0) (0,1,0) แต่ละจุดสุดยอดจะได้รับดัชนี: x y z->index: 0 0 1->0, 1 0 1->1, 1 1 1->2, 0 1 1->3, 0 0 0->4, 1 …

9
Love Tester Code Golf
สร้างโปรแกรมที่นับจำนวนตัวอักษรทั้งหมดที่ใช้ร่วมกันเป็นสองชื่อและค้นหาผลิตภัณฑ์ที่มีความยาวเพื่อใช้เป็น "เครื่องทดสอบความรัก" เงื่อนไข: คุณอาจไม่ได้รับเอาต์พุต 1: 1 (เป็น 3 ใน 3 และอื่น ๆ ) อินพุต สองชื่อจาก STDIN หรือทางเลือกที่ใกล้เคียงที่สุด เอาท์พุต คำนวณxเป็นจำนวนตัวอักษรทั้งหมดที่เหมือนกันระหว่างสองชื่อโดยไม่สนใจขนาดตัวพิมพ์ คำนวณyเป็นผลคูณของความยาวของชื่อ จากนั้นเอาต์พุตไปยัง STDOUT หรือทางเลือกที่ใกล้เคียงที่สุดคือ Name1 and Name2 have x out of y chances of love. ตัวอย่าง การป้อนข้อมูล: Wesley Polly เอาท์พุท: Wesley and Polly have 2 out of 30 chances of love. …

3
หยดน้ำแห่งความโกลาหล (การสร้างลำดับ Aperiodic น้อยที่สุด)
ความคิดที่นี่คือการสร้างรูปแบบการทำซ้ำเกือบ นั่นคือลำดับการสร้างการเปลี่ยนแปลงในนาทีสุดท้ายเพื่อหลีกเลี่ยงการทำซ้ำของการเรียงลำดับบางส่วน ผลที่ตามมาของประเภท AA และ ABA จะต้องหลีกเลี่ยง (โดยที่ B ไม่เกิน A) ตัวอย่าง: ฉันจะไปข้างหน้าและเริ่มต้นด้วยการแสดงตัวอย่างเล็ก ๆ ทั้งหมดเพื่อให้คำอธิบายของฉันชัดเจน เริ่มจาก 0 ที่ถูกต้อง: 0 ไม่ถูกต้อง: 00 (รูปแบบ AA) ที่ถูกต้อง: 01 ไม่ถูกต้อง: 010 (รูปแบบ ABA) ไม่ถูกต้อง: 011 (รูปแบบ AA) ที่ถูกต้อง: 012 ที่ถูกต้อง: 0120 ไม่ถูกต้อง: 0121 (รูปแบบ ABA) ไม่ถูกต้อง: 0122 (รูปแบบ AA) ไม่ถูกต้อง: 01200 (รูปแบบ AA) ไม่ถูกต้อง: …

1
คุณมาจากที่ไหน?
INTERCAL เป็นภาษาที่ยอดเยี่ยม แต่ไม่ใช่เรื่องง่ายที่จะเข้าใจรหัสของผู้อื่น โดยเฉพาะอย่างยิ่งในกรณีที่พวกเขาใช้คำสั่ง COME FROM นิยามการท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ซอร์สโค้ดของโปรแกรม INTERCAL เป็นสตรีมข้อความ / ข้อมูล หากคุณเขียนฟังก์ชั่นขอแนะนำให้คุณให้โปรแกรมเรียกฟังก์ชั่นด้วย แต่จะไม่นับรวมคะแนนของคุณ ฟังก์ชั่นเอาท์พุทจะเป็นข้อความ / ข้อมูลสตรีมของการกระโดดที่โปรแกรมทำขึ้น เอาต์พุตไม่จำเป็นต้องพิมพ์ แต่จำเป็นต้องเป็นข้อความเดียวไม่ใช่อาร์เรย์ของสตริง (ตัวอย่าง) ->บรรทัดของการส่งออกแต่ละคนจะประกอบด้วยคำสั่งซึ่งจะมาจากไหนและจำนวนบรรทัดของมาจากคำสั่งแยกจากกันโดย ตัวอย่าง: (310) DO .4 <- .3 -> 55 คุณสามารถตัดซอร์สโค้ดของบรรทัดเหล่านี้ได้ แต่ไม่จำเป็น กรณีทดสอบจะประกอบด้วยป้ายกำกับที่ไม่ได้คำนวณเท่านั้น(เช่นป้ายกำกับเลขจำนวนเต็ม) ผลลัพธ์จะต้องเรียงตามคำสั่งรหัสแหล่งที่มาของคำสั่งซึ่งจะมาจากไม่ใช่ฉลากของพวกเขาหรือคำสั่งของคำสั่ง COME FROM หรือป้ายกำกับของพวกเขา เป็นไปได้สำหรับหลาย ๆ คำสั่งที่จะมาจากเลเบลเดียวกัน ในกรณีเช่นนี้จะต้องเรียงลำดับหมายเลขโทรศัพท์ COME FROM และคั่นด้วยเครื่องหมายจุลภาค มันเป็นไปได้สำหรับคำสั่งที่จะมาจากตัวเอง คำสั่ง COME FROM อาจถูกนำหน้าด้วยคำสั่ง NOT ในกรณีเช่นนี้หมายเลขบรรทัดต้องอยู่ในวงเล็บเหลี่ยม …

4
จำนวนโดมิโนเอียง
เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับในเชิงบวกnและม.คำนวณจำนวน tilings โดมิโนที่แตกต่างกันที่ถูกต้องที่คุณสามารถใส่ในnโดยม.รูปสี่เหลี่ยมผืนผ้า นี่คือลำดับA099390ในสารานุกรมออนไลน์ของจำนวนเต็มลำดับ คุณสามารถรับอินพุตเป็นฟังก์ชันอาร์กิวเมนต์, CLA หรือบน stdin ในรูปแบบที่สมเหตุสมผล คุณต้องส่งคืนหรือพิมพ์จำนวนเต็มเดียวเป็นเอาต์พุต การปูกระเบื้องแต่ละครั้งจะต้องไม่เว้นช่องว่างใด ๆ และการนับการเรียงต่อกันทั้งหมดรวมถึงการหมุนการสะท้อนกลับเป็นต้นตัวอย่างเช่นการเอียงของ 2x3 คือ: |-- ||| --| |-- ||| --| ตัวอย่างอินพุต / เอาท์พุต: 1, 9 -> 0 2, 2 -> 2 2, 3 -> 3 4, 4 -> 36 4, 6 -> 281 6, 6 -> 6728 7, 10 …

8
วันนี้คุณ mooed
การกระจาย Debian Linux (และ distros ตาม Debian, เช่น Ubuntu, Kali และอื่น ๆ ) ใช้ตัวจัดการแพคเกจที่เรียกว่า APT ในการติดตั้งโปรแกรมfooคุณจะต้องพิมพ์เทอร์มินัล sudo apt-get install foo ไข่อีสเตอร์ตัวน้อยของ APT หนึ่งตัวมีดังต่อไปนี้ apt-get moo ซึ่งหลังจากพิมพ์จะผลิตผลลัพธ์ต่อไปนี้ (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... คุณต้องเขียนโปรแกรมที่สร้างผลลัพธ์ EXACT นี้ในเวลาไม่กี่ไบต์เท่าที่จะทำได้ (รวมถึงช่องว่างต่อท้ายและบรรทัดใหม่) นี่คือเอาต์พุตเดียวกันกับที่\nเพิ่มเพื่อแสดงอักขระบรรทัดใหม่และ a *เพื่อแทนช่องว่างต่อท้าย (__)*\n (oo)*\n /------\/*\n …

7
แม่น้ำดิจิตอล (ทางออกที่สั้นและเร็วที่สุด)
นี่เป็นคำถามแรกของฉันดังนั้นฉันหวังว่ามันจะเป็นไปด้วยดี พื้นหลัง: ไม่ใช่แม่น้ำที่คุณอาจคิดถึง คำถามหมุนรอบแนวคิดของแม่น้ำดิจิทัล แม่น้ำดิจิทัลเป็นลำดับของตัวเลขโดยที่จำนวนดังต่อไปnนี้nบวกกับผลรวมของตัวเลข คำอธิบาย: 12345 ตามด้วย 12360 ตั้งแต่ 1 + 2 + 3 + 4 + 5 = 15 และอื่น ๆ 12345 + 15 ให้ 12360. ในทำนองเดียวกัน 145 ตามด้วย 155 ถ้าจำนวนแรกของแม่น้ำดิจิตอลเราจะเรียกมันว่าแม่น้ำMM ตัวอย่างเช่น: แม่น้ำ 480 เป็นจุดเริ่มต้นของลำดับ {480,492,507,519 .... } และแม่น้ำ 483 เป็นลำดับเริ่มต้น {483,498,519, .... } ลำธารและแม่น้ำปกติสามารถพบกันและสิ่งนี้เป็นจริงสำหรับแม่น้ำดิจิตอล สิ่งนี้จะเกิดขึ้นเมื่อแม่น้ำดิจิตอลสองแห่งแบ่งปันค่าเดียวกันบางค่า ตัวอย่าง: แม่น้ำ …

3
สแควร์จากตัวเลขที่มีผลรวมที่ใหญ่ที่สุด
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับรายการตัวเลขเป็นอินพุตและเอาต์พุตหรือส่งกลับผลรวมที่ใหญ่ที่สุดที่ทำได้โดยใส่ตัวเลขเหล่านี้ลงในช่องสี่เหลี่ยม ข้อมูลที่ป้อนจะประกอบด้วยตัวเลขสองหลักเสมอ ตัวอย่างการจัดเรียงกำลังสองสำหรับอินพุต9 1 2 3 4 5 6 7 7อาจเป็นได้ 677 943 125 ผลรวมจะถูกคำนวณเป็นผลรวมของแถวและคอลัมน์ทั้งหมด 677 + 943 + 125 + 691 + 742 + 735 = 3913สำหรับการจัดดังกล่าวข้างต้นรวมจะ โปรดทราบว่านี่ไม่ใช่ผลรวมสูงสุดดังนั้นนี่ไม่ใช่ผลลัพธ์ที่คาดหวัง อินพุต รายการที่มีความยาวn^2( n>=1) มีตัวเลขที่ไม่ใช่ศูนย์ ( 1-9) เอาท์พุต จำนวนเต็มผลรวมที่ใหญ่ที่สุดที่ทำได้ด้วยตัวเลขอินพุตที่ใส่ในตาราง ตัวอย่าง input => outputรูปแบบตัวอย่างคือ 5 => 10 1 2 3 4 => 137 …

1
การค้นหากำลังเดินสแควร์
Marching Squaresเป็นอัลกอริธึมจากคอมพิวเตอร์กราฟิกส์ซึ่งใช้ในการกู้คืน isocontours 2D จากตารางตัวอย่าง (ดูเพิ่มเติมที่Marching Cubes Cubesสำหรับการตั้งค่า 3D) แนวคิดคือการประมวลผลแต่ละเซลล์ของกริดอย่างอิสระและกำหนดรูปทรงที่ส่งผ่านเซลล์นั้นตามค่าที่มุมของมัน ขั้นตอนแรกในกระบวนการนี้คือการกำหนดว่าขอบใดที่เชื่อมต่อกันด้วยรูปทรงโดยพิจารณาจากมุมที่สูงหรือต่ำกว่าค่าของเส้นขอบ เพื่อความง่ายเราจะพิจารณาเฉพาะส่วนที่มีค่าตามรูปร่าง0ซึ่งเราสนใจว่ามุมนั้นเป็นมุมบวกหรือลบ มีหลายกรณีที่จะแยกแยะ:24 = 16 แหล่งที่มาของภาพ: Wikipedia การระบุสีขาวและดำไม่ได้มีความสำคัญเลย แต่สำหรับความจริงบอกว่าสีขาวเป็นบวกและสีดำเป็นลบ 0เราจะไม่สนใจกรณีที่มุมหนึ่งของอยู่ตรง จุดอาน (กรณีที่ 5 และ 10) ให้ความยากลำบากเพิ่มเล็กน้อย: มันไม่ชัดเจนว่าควรใช้ diagonals โดยดูที่มุมเท่านั้น สิ่งนี้สามารถแก้ไขได้โดยการหาค่าเฉลี่ยของมุมทั้งสี่ (เช่นการประมาณค่าศูนย์) และการเลือกเส้นทแยงมุมเพื่อให้เส้นโค้งแยกศูนย์กลางออกจากมุมที่มีเครื่องหมายตรงข้าม หากค่าเฉลี่ยตรงทุก0กรณีสามารถเลือกได้ โดยปกติ 16 กรณีเหล่านี้จะถูกเก็บไว้ในตารางการค้นหา นี่คือประสิทธิภาพที่ดี แต่แน่นอนเราต้องการให้รหัสสั้นๆ ที่นี่ ดังนั้นงานของคุณคือทำตามขั้นตอนการค้นหานี้และพิมพ์การแสดง ASCII ของเคสในโค้ดน้อยที่สุดเท่าที่จะทำได้ ความท้าทาย คุณได้รับค่าของมุมทั้งสี่ (จำนวนเต็มที่ไม่ใช่ศูนย์) ตามลำดับที่คุณเลือก จากนั้นคุณควรสร้างเค้าโครงที่ถูกต้องของรูปทรงการแก้ไขกรณีจุดอานอย่างถูกต้อง คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN …

4
วรรณะ
ตัวเลขที่ไม่สามารถแตะต้องได้α ตัวเลขที่ไม่สามารถแตะต้องได้คือจำนวนเต็มบวกที่ไม่สามารถแสดงเป็นผลรวมของตัวหารที่เหมาะสมทั้งหมดของจำนวนเต็มบวกใด ๆ (รวมถึงตัวเลขที่ไม่สามารถแตะได้เอง) ตัวอย่างเช่นหมายเลข 4 ไม่สามารถแตะต้องได้เนื่องจากเท่ากับผลรวมของตัวหารที่เหมาะสมของ 9: 1 + 3 = 4 หมายเลข 5 ไม่สามารถแตะต้องได้เนื่องจากไม่ใช่ผลรวมของตัวหารที่เหมาะสมของจำนวนเต็มบวกใด ๆ 5 = 1 + 4 เป็นวิธีเดียวที่จะเขียน 5 เป็นผลรวมของจำนวนเต็มบวกที่แตกต่างกันรวมถึง 1 แต่ถ้า 4 หารตัวเลข 2 ก็เช่นกันดังนั้น 1 + 4 จึงไม่สามารถเป็นผลรวมของตัวหารที่เหมาะสมของจำนวนใด ๆ (ตั้งแต่ รายการปัจจัยจะต้องมีทั้ง 4 และ 2) เชื่อกันว่าหมายเลข 5 เป็นหมายเลขที่ไม่สามารถแตะได้ แต่ก็ยังไม่ได้รับการพิสูจน์: มันจะตามมาจากการคาดเดาของ Goldbach ที่แข็งแกร่งขึ้นเล็กน้อย β มีตัวเลขที่ไม่สามารถแตะต้องได้จำนวนมากความจริงที่พิสูจน์โดย …

7
ความต่อเนื่องที่เพิ่มขึ้นมากที่สุด
Sequence เป็นลำดับที่สามารถได้มาจากลำดับอื่นโดยการลบองค์ประกอบบางอย่างโดยไม่ต้องเปลี่ยนลำดับขององค์ประกอบที่เหลือ การต่อเนื่องที่เพิ่มขึ้นอย่างเข้มงวดเป็นส่วนประกอบที่ทุกองค์ประกอบมีขนาดใหญ่กว่าองค์ประกอบก่อนหน้า ลำดับที่เพิ่มขึ้นที่หนักที่สุดของลำดับคือลำดับที่เพิ่มขึ้นอย่างเข้มงวดที่มีผลรวมองค์ประกอบที่ใหญ่ที่สุด ใช้โปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกซึ่งจะหาผลรวมองค์ประกอบของลำดับที่เพิ่มขึ้นมากที่สุดของรายการจำนวนเต็มที่ไม่เป็นลบ ตัวอย่าง: [] -> 0 ([]) [3] -> 3 ([3]) [3, 2, 1] -> 3 ([3]) [3, 2, 5, 6] -> 14 ([3, 5, 6]) [9, 3, 2, 1, 4] -> 9 ([9]) [3, 4, 1, 4, 1] -> 7 ([3, 4]) [9, 1, 2, 3, …

1
คุณเรียกสิ่งนี้ว่าการเพิ่มประสิทธิภาพ? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว งานนั้นง่ายโค้ดโพสต์ 2 ที่ทำงานเหมือนกันโดยที่หนึ่งดูเหมือนว่าจะได้รับการปรับให้เหมาะสมที่สุดตั้งแต่แรกเห็น แต่จริงๆแล้วช้ากว่าอย่างมาก กฎเดียวเท่านั้น: ตัวอย่างทั้งสองจะต้องจบด้วยผลลัพธ์ที่แน่นอนเดียวกัน (สำหรับอินพุตที่กำหนดเหมือนกันหากมี)

1
สิ่งที่น่าพิศวงน่าพิศวง
สิ่งที่น่าพิศวงเป็นเกมบาสเกตบอลที่ผู้เล่นผลัดกันยิง มันถูกเล่นเป็นลำดับของการแข่งขันสำหรับผู้เล่นสองคนโดยแต่ละคนมีความเป็นไปได้ที่จะ "เตะออก" หนึ่งในผู้เล่นเหล่านั้น สมมติว่าผู้เล่นมีA B C Dโอกาสในการยิงและจัดทำตะกร้า0.1 0.2 0.3 0.4ตามลำดับโดยไม่ขึ้นกับผู้เล่นอื่นในการแข่งขัน ผู้เล่นสองคนที่อยู่ด้านหน้าของแถวAและB"ต่อสู้" ตั้งแต่Aไปก่อนเขาเป็นผู้พิทักษ์ตกอยู่ในอันตรายจากการถูกกำจัดและBเป็นผู้โจมตีและไม่ตกอยู่ในอันตรายจากการกำจัดทันที Aถ่ายภาพก่อน ถ้าAทำให้Aสำเร็จป้องกันได้สำเร็จและไปที่ด้านหลังของบรรทัด B C D Aสายจะเปลี่ยนไป ถ้าAไม่ทำก็ให้Bยิง ถ้าBทำแล้วAจะออกและไปที่หลังของบรรทัดเพื่อให้กลายเป็นเส้นB C D Bถ้าไม่AหรือBทำให้เป็นกระบวนการซ้ำด้วยการAยิงอีกครั้งจนกระทั่งAหรือBทำตะกร้า สมมติว่าบรรทัดเปลี่ยนเป็นB C D A( Aเคยป้องกันได้สำเร็จ) ตอนนี้BและC"ต่อสู้" ด้วยBการเป็นผู้พิทักษ์และCเป็นผู้โจมตี กระบวนการนี้ทำซ้ำจนกว่าจะเหลือเพียงคนเดียวเท่านั้น บุคคลนั้นเป็นผู้ชนะ งานของคุณคือการคำนวณความน่าจะเป็นของผู้ชนะแต่ละคนที่ได้รับโอกาสที่จะทำตะกร้า อินพุต : รายการของตัวเลขเช่น0.1 0.2หรือ0.5 0.5 0.5 0.5ที่ซึ่งหมายเลขnเป็นโอกาสที่ผู้เล่นที่nจะทำตะกร้า คุณสามารถรับอินพุตนี้ในรูปแบบใดก็ได้ที่คุณต้องการรวมถึงเป็นพารามิเตอร์ในฟังก์ชัน ผลผลิต : รายชื่อหมายเลขที่หมายเลขnเป็นโอกาสที่ผู้เล่นที่nจะชนะเกม หมายเลขของคุณจะต้องแม่นยำอย่างน้อยสองตำแหน่งทศนิยมอย่างน้อย 90% ของเวลา ซึ่งหมายความว่าคุณสามารถใช้วิธีการจำลองตาม อย่างไรก็ตามหากรหัสของคุณไม่ได้เป็นแบบจำลอง …

3
จัดรูปแบบตัวเลขทศนิยมเป็นทศนิยม
ทศนิยมแบบไบนารีใด ๆ สามารถจัดรูปแบบเป็นทศนิยม สตริงผลลัพธ์อาจค่อนข้างยาว แต่เป็นไปได้ ในบทความของฉันเกี่ยวกับจุดลอยฉันครอบคลุมความสำคัญของความแม่นยำและตอนนี้ฉันต้องการฟังก์ชั่นนี้ ความท้าทายนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ค่าทศนิยมเป็นอินพุตและจัดรูปแบบสตริงทศนิยมที่แน่นอนเป็นเอาต์พุต เพื่อให้แน่ใจว่าเรากำลังทำงานกับตัวเลขทศนิยมที่ถูกต้องจะต้องจัดรูปแบบที่แม่นยำเป็นข้อมูลป้อนเข้าสู่โปรแกรม รูปแบบนี้จะเป็นจำนวนเต็มสองจำนวนที่เกิดขึ้นจริงค่าจุดลอยSignificand Exponent Significand * 2 ^ Exponentโปรดทราบว่าค่าใดค่าหนึ่งอาจเป็นลบได้ ข้อมูลจำเพาะ: ต้องรองรับช่วงและความแม่นยำอย่างน้อย 32 บิต (ไม่มีการป้อนข้อมูลเกินกว่านั้น) ค่าที่จัดรูปแบบทศนิยมต้องเป็นรูปแบบที่แน่นอน (ใกล้มากพอที่จะรับประกันได้ว่าการปัดเศษกลับปลายที่ถูกต้องนั้นไม่ดีพอ) เราไม่เชื่อถือฟังก์ชั่นการจัดรูปแบบจุดลอยตัวของไลบรารีมาตรฐานที่จะถูกต้องเพียงพอหรือเร็วพอ (เช่น:) printfดังนั้นจึงอาจไม่สามารถใช้งานได้ คุณต้องทำการฟอร์แมต อนุญาตให้ใช้ฟังก์ชั่นการจัดรูปแบบ / การแปลงแบบอินทิกรัล อาจไม่มีศูนย์นำหน้าหรือต่อท้ายยกเว้นศูนย์ที่นำหน้าศูนย์ที่จำเป็น.หากไม่มีส่วนประกอบจำนวนเต็ม อนุญาตให้ใช้ฟังก์ชันหรือโปรแกรมทั้งหมด ตัวอย่าง: 1 -2 => 0.25 17 -3 => 2.125 -123 11 => -251904 17 50 => 19140298416324608 23 -13 …

1
กำหนดว่าพิกัดเชิงเหตุผลอยู่ในสามเหลี่ยม Sierpinski ที่ถูกต้องหรือไม่
Sierpinski สามเหลี่ยมคือชุดของจุดบนเครื่องบินซึ่งถูกสร้างโดยเริ่มต้นด้วยรูปสามเหลี่ยมเดียวและซ้ำ ๆ แยกสามเหลี่ยมทั้งหมดเป็นสี่สามเหลี่ยมสอดคล้องและลบสามเหลี่ยมศูนย์ สิทธิ Sierpinski สามเหลี่ยมมีมุมที่(0,0), (0,1)และ(1,0)และมีลักษณะเช่นนี้ คำจำกัดความที่เทียบเท่าของชุดนี้มีดังนี้: คะแนนในnการทำซ้ำ TH nของกระบวนการที่อธิบายข้างต้นทั้งหมด จุด(x,y)ด้วย0 <= x <= 1และ0 <= y <= 1เช่นว่าสำหรับจำนวนเต็มบวกทั้งหมดnที่nบิต TH ในการขยายตัวของฐาน x และ y 1ไม่ได้ทั้ง ปล่อย T = {(0,0),(1,0),(0,1)} อนุญาตfเป็นฟังก์ชันในชุดของจุด 2D ที่กำหนดโดยต่อไปนี้: f(X) = {(0,0)} ∪ {(x+t)/2 | x∈X, t∈T} จากนั้นทางขวา Sierpinski สามเหลี่ยมเป็นปิดทอพอโลยีของจุดอย่างน้อยคงที่ (โดยชุดบรรจุ) fของ อนุญาตSเป็นสแควร์{(x,y) | 0<=x<=1 …

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