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

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

11
สร้างชุดค่าผสมของกลุ่มตัวแปรได้สูงสุดถึงลำดับ n
SPECIFICATION ได้รับตัวแปรสร้างทุกชุดถึงการสั่งซื้อm nตัวอย่างเช่น, ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ1จะเป็น: a ข AB ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ2จะเป็น: a a 2 ข ข2 AB 2ข ab 2 a 2 b 2 ผลลัพธ์ของการแมปสองตัวแปร ( aและb) ในการสั่งซื้อ3จะเป็น: a a 2 3 ข ข2 ข3 AB 2ข 3ข 3ข2 ab 2 ab 3 2ข3 a 2 b …

2
นักประวัติศาสตร์ภาษี
บทนำ มีผู้เก็บภาษีที่มีปัญหาในการจัดการภาษีในราชอาณาจักรของเขา: บันทึกทางประวัติศาสตร์ได้ถูกไฟไหม้ครั้งใหญ่ เขาต้องการค้นหาว่ามีอดีตที่เป็นไปได้มากเพียงใดในแง่ที่ว่าเงินในปัจจุบันได้รับมาจากไหน โชคดีที่อาณาจักรของเขาเรียบง่ายมาก ราชอาณาจักรสามารถสร้างแบบจำลองโดยเมทริกบูลีน 2D ซึ่งlหมายถึงคนที่ได้รับมรดกและOเป็นตัวแทนของคนที่ไม่มี ตัวอย่างเช่น: l O l l O O O l l O l O O O O l (มันจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ) ในรุ่นต่อไปราชอาณาจักรนั้นเล็กกว่า (หมาป่านั้นแข็งแกร่ง!) รุ่นต่อไปจะมีลักษณะเช่นนี้ซ้อนทับกับรุ่นก่อนหน้า ( xเป็นตัวยึดตำแหน่งสำหรับรุ่นถัดไปในรุ่นถัดไป) l O l l x x x O O O l x x x l O l O x …

2
ข้อผิดพลาด (หรือคำเตือน) ควินที่เป็นควินปกติ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา (ได้รับแรงบันดาลใจจากความคิดเห็นนี้กับคำถามเก่า ๆ ) พื้นหลัง ควินข้อผิดพลาด (ยังเป็นที่รู้จักกันในชื่อ "Kimian ควิน") เป็นโปรแกรมซึ่งเมื่อรวบรวมหรือทำงานทำให้เกิดการคอมไพเลอร์ / ล่าม / รันไทม์พิมพ์ข้อผิดพลาดที่มีข้อความเหมือนกันกับโปรแกรมของตัวเองและไม่มีอะไรอื่น สำหรับวัตถุประสงค์ของการท้าทายนี้เรากำลังกำหนด "ข้อผิดพลาด" ในวงกว้างเพื่อรวมคำเตือนด้วย งาน ในความท้าทายนี้เรากำลังมองหา ควินซึ่งก็เป็นข้อผิดพลาด quine เมื่อดำเนินการโปรแกรมจะต้องพิมพ์ซอร์สโค้ดของตัวเองตามปกติ (เช่นไม่ใช่ข้อผิดพลาด / ข้อความเตือน); สิ่งนี้จะต้องเป็นควินที่เหมาะสม (เช่นบางส่วนของโปรแกรมจะต้องเข้ารหัสส่วนต่าง ๆ ของเอาท์พุท) นอกจากนี้การคอมไพล์และเรียกใช้งานโปรแกรมยังต้องทำให้ซอร์สโค้ดของโปรแกรม - และไม่มีอะไรอื่น - ที่จะพิมพ์เป็นข้อผิดพลาดหรือข้อความเตือนโดยการใช้งาน (โปรดทราบว่านี่หมายความว่าคุณจะไม่สามารถใช้ข้อผิดพลาดในการคอมไพล์ในภาษาที่ป้องกันโปรแกรมจากการดำเนินการตามปกติ) ดังนั้นกล่าวอีกนัยหนึ่งคือซอร์สโค้ดของโปรแกรมจะถูกพิมพ์สองครั้งเมื่อผ่านแต่ละวิธี ชี้แจง ในกรณีส่วนใหญ่จะเห็นได้ชัดว่าอะไรคืออะไรและไม่ใช่ข้อความแสดงข้อผิดพลาด / คำเตือน เราไม่แยกความแตกต่างระหว่างสองอย่างนี้ ในกรณีที่คลุมเครือให้กำหนดข้อความแสดงข้อผิดพลาด / คำเตือนเป็นข้อความใด …

1
จำนวน XOR ติดลบ
เกี่ยวกับปีที่ผ่านมาคุณถูกถามเพื่อหาช่วงเวลาที่แฮคเกอร์ เหล่านี้เป็นตัวเลขที่มีเพียงปัจจัยคือ 1 และตัวเองเมื่อทำการXOR คูณในฐาน 2 ตอนนี้กำลังจะทำให้เครื่องเทศเพิ่มขึ้นเล็กน้อย พวกเราจะไปหาช่วงเวลา XOR ในฐาน-2 แปลงเป็นฐาน -2 ฐาน -2 เป็นจำนวนมากเหมือนฐานอื่น ๆ สถานที่ที่เหลือมากที่สุดคือสถานที่ 1 แห่ง (1 = (-2) 0 ) ถัดจากสถานที่ 2 แห่ง (-2 = (-2) 1 ) ถัดจากนั้นคือสถานที่ 4s (4 = (-2 ) 2 ) และอื่น ๆ เป็นต้น ความแตกต่างใหญ่คือตัวเลขลบสามารถแสดงในฐาน -2 โดยไม่มีเครื่องหมายลบใด ๆ นี่คือตัวอย่างการแปลง: Decimal | …

1
จำนวนนอตนายกที่มีการข้าม n
ปมที่สำคัญคือ ปมที่ไม่สำคัญซึ่งไม่สามารถเขียนเป็นผลรวมของปมที่ไม่ใช่ปมสองอัน คำอธิบายของknot-sum : ใส่นอตสองตัวที่อยู่ติดกัน ... จากนั้นให้ลากสองเส้นระหว่างเส้นเหล่านั้นไปยังเส้นเดียวกันในแต่ละด้านแล้วเอาส่วนที่อยู่ระหว่างบรรทัดที่คุณเพิ่งวาด การประกอบของสองนอตนี้จะเป็นปมใหม่ที่ไม่ใช่นายก นี่คือนอตที่สำคัญทั้งหมดที่มีการข้าม 7 ครั้งหรือน้อยกว่า (Unknot ไม่ใช่ไพร์ม): คุณจำเป็นต้องส่งออกจำนวน knots เฉพาะที่ไม่ซ้ำกันสำหรับจำนวนการข้ามที่กำหนด 1 0 2 0 3 1 4 1 5 2 6 3 7 7 8 21 9 49 10 165 11 552 12 2176 13 9988 14 46972 15 253293 16 1388705 ฉันไม่คิดว่าค่าเหล่านี้เป็นที่รู้จักสำหรับอินพุตที่ใหญ่กว่า16แต่หากได้รับอินพุตดังกล่าวรหัสของคุณจะต้องค้นหาผลลัพธ์ที่ถูกต้องที่ให้เวลาพอสมควร OEIS …

1
พิมพ์เวลาปัจจุบัน…โดยคำนึงถึงวินาทีกระโดด
(หมายเหตุ: แม้ว่าจะเกี่ยวข้องกัน แต่ความท้าทายนี้ไม่ได้ซ้ำกับสิ่งนี้เพราะมันต้องมีการกำหนดวินาทีกระโดดโดยอัตโนมัติมากกว่าการเข้ารหัสเวลาของพวกเขาและไม่ได้ซ้ำกันของมันเพราะความยากลำบากส่วนใหญ่มาจากการกำหนดเวลาโดยไม่เผ่นวินาที สิ่งที่ API เวลาส่วนใหญ่ไม่ได้ทำตามค่าเริ่มต้นดังนั้นโซลูชันมีแนวโน้มที่จะดูแตกต่างจากโซลูชันไปยังความท้าทายเหล่านั้น) เรากำลังจะมาถึงปลายปี 2016 แต่จะใช้เวลานานกว่าที่คนส่วนใหญ่คาดหวังเล็กน้อย ดังนั้นนี่คือความท้าทายในการฉลองวินาทีพิเศษของเราในปีนี้ แสดงเวลาปัจจุบันใน UTC เป็นชั่วโมงนาทีวินาที (ตัวอย่างเช่นรูปแบบเอาต์พุตที่ถูกต้องสำหรับเที่ยงวันจะรวมถึง12:00:00และ[12,0,0]การจัดรูปแบบไม่ได้มีความสำคัญอย่างยิ่งที่นี่) อย่างไรก็ตามมีการบิดโปรแกรมของคุณต้องจัดการกับวินาทีกระโดดอย่างเหมาะสมทั้งในอดีตและอนาคต ซึ่งหมายความว่าโปรแกรมของคุณจะต้องรับรายการวินาทีกระโดดจากแหล่งข้อมูลออนไลน์หรืออัพเดต / อัปเดตอัตโนมัติ คุณสามารถเชื่อมต่ออินเทอร์เน็ตเพื่อขอรับสิ่งนี้หากคุณต้องการ อย่างไรก็ตามคุณสามารถเชื่อมต่อกับ URL ที่มีมาก่อนความท้าทายนี้ (เช่นไม่มีการดาวน์โหลดบางส่วนของโปรแกรมของคุณจากที่อื่น) และคุณไม่สามารถใช้การเชื่อมต่อเพื่อกำหนดเวลาปัจจุบันได้ (โดยเฉพาะ: โปรแกรมของคุณจะต้องทำงาน อินเทอร์เน็ตจะแสดงหน้าเว็บที่เก่าถึง 24 ชั่วโมง) API เริ่มต้นของระบบปฏิบัติการส่วนใหญ่สำหรับเวลาปัจจุบันจะเอียงเวลาประมาณวินาทีกระโดดเพื่อซ่อนพวกเขาจากโปรแกรมที่อาจสับสน ดังนั้นปัญหาหลักของความท้าทายนี้คือการหาวิธีการหรือ API เพื่อเลิกทำเช่นนั้นและหาเวลาปัจจุบันที่ไม่มีการแก้ไขจริงใน UTC ในทางทฤษฎีแล้วโปรแกรมของคุณควรมีความแม่นยำอย่างสมบูรณ์แบบหากมันทำงานบนคอมพิวเตอร์ที่เร็วและไม่มีค่าใช้จ่าย (แน่นอนว่าในทางปฏิบัติโปรแกรมของคุณจะทำงานบนคอมพิวเตอร์ที่ไม่สมบูรณ์ดังนั้นอาจไม่ทำงานทันทีคุณไม่ต้องกังวลกับผลการตรวจสอบที่ไม่ถูกต้อง แต่จะต้องไม่ขึ้นอยู่กับความถูกต้องของโปรแกรมของคุณ ) โปรแกรมของคุณจะต้องทำงานโดยไม่คำนึงถึงเขตเวลาที่นาฬิการะบบตั้งไว้เป็น (อย่างไรก็ตามอาจขอข้อมูลจากระบบปฏิบัติการหรือสภาพแวดล้อมว่ามีการใช้เขตเวลาใดและอาจคิดว่าคำตอบนั้นถูกต้อง) ในฐานะที่เป็น รหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ โชคดี!

4
ไฟของเว็บแคมกะพริบ!
ความท้าทายนี้เป็นแรงบันดาลใจBlink แป้น Caps Lockโดยเรือเหาะ เว็บแคมส่วนใหญ่มีไฟ LED ในตัวขนาดเล็กระบุว่ามีการใช้งานเว็บแคมหรือไม่ซึ่งควบคุมโดยกลไกฮาร์ดแวร์เพื่อป้องกันการสอดแนม งานของคุณคือการกระพริบตา: เปิด. รอ 0.5 (± 0.1) วินาที ปิดอีกครั้ง รอ 0.5 (± 0.1) วินาที ทำซ้ำ โปรดระบุ GIF หรือวิดีโอของเว็บแคมที่กะพริบถ้าเป็นไปได้ หากคำตอบไม่มี GIF โปรดเพิ่ม GIF ของโปรแกรมที่ทำงานอยู่ กฎระเบียบ หากภาษาของคุณไม่มีsleepคำสั่งsubsecond โปรแกรมของคุณอาจใช้เวลาหน่วง 1 วินาทีแทนโดยมีค่าปรับเพิ่มเป็นไบต์ (แทนที่.5ด้วย1) หากภาษาของคุณไม่รองรับด้วยเหตุผล.5ของคุณการลงโทษของคุณคือ 2 ไบต์ (แทนที่0.5ด้วย1) โปรแกรมของคุณต้องวนซ้ำเว้นแต่ผู้ใช้จะหยุด LED ของคุณสามารถเปิดหรือปิดได้ แล้วแต่จำนวนใดจะมีประโยชน์มากกว่าสามารถนำมาใช้ หาก LED ของคุณมีความล่าช้าในการปิดเครื่องก็ไม่จำเป็นต้องนำมาพิจารณาหากคุณไม่ต้องการให้มีเวอร์ชั่นเพิ่มเติม ดูความคิดเห็นนี้และคำตอบสำหรับข้อมูลเพิ่มเติม เกณฑ์การให้คะแนน นี่คือ รหัสกอล์ฟซึ่งหมายถึงคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ

4
เท่ากับชนิดวงเล็บเหลี่ยม
บนพื้นฐาน นี้คำถาม กำหนดสตริงแทนที่แต่ละวงเล็บ()[]{}<>ด้วยวงเล็บของประเภทที่เหมาะสมเพื่อให้วงเล็บจับคู่และรอบซ้อนกันวงเล็บดังนี้ สิ่งที่อยู่นอกสุดคือ () ()ควรจะอยู่ข้างในโดยตรง[] []ควรจะอยู่ข้างในโดยตรง{} {}ควรจะอยู่ข้างในโดยตรง<> ด้านในตรงจาก<>จะเป็น()อีกครั้ง (รอบ) ตัวอักษรที่ไม่ใช่วงเล็บทั้งหมดจะต้องคงอยู่เหมือนเดิม วงเล็บเปิดอาจถูกแทนที่ด้วยวงเล็บเปิดบางชนิดเท่านั้นและปิดวงเล็บด้วยวงเล็บปิด อินพุตจะทำให้เป็นไปได้เสมอ นี่หมายความว่าวงเล็บนั้นจับคู่อย่างถูกต้องหากไม่ระบุประเภท ดังนั้น{ab<)c]เป็นอินพุตที่ถูกต้อง แต่มีab)(cdหรือab((cdไม่ ตัวอย่าง: 2#jd {¤>. = 2#jd (¤). abcdef = abcdef (3×5+(4-1)) = (3×5+[4-1]) <<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}]) ไม่อนุญาตให้ใช้การแปลงดั้งเดิมของอินพุตด้วยวิธีนี้ (ไวยากรณ์ภาษาอัตโนมัติ) เช่นเคย: รหัสที่สั้นที่สุดชนะ

2
โปรแกรมรวบรวมข้อมูล 2D Dungeon
โปรแกรมของคุณต้องใช้สตริงที่มีหลายแถวเช่นนี้ ############# # # # p # # # ############# pเป็นผู้เล่นและ#เป็นบล็อก ตอนนี้ภายใต้ที่ใน terminal ควรเป็นสายอินพุตพูดว่า: How do you want to move? หากผู้เล่นประเภทที่lเขาต้องเดินออกไปเมื่อไม่มีบล็อกอื่น ๆ เมื่อมีบล็อกเขาไม่สามารถผ่านและไม่ย้ายแน่นอนตอนนี้เอาท์พุทใน terminal จะต้องมีการปรับปรุง ( และเอาต์พุตก่อนหน้าจะถูกล้าง / เขียนทับ): ############# # # # p # # # ############# เขาสามารถพิมพ์lซ้ายซ้ายrขวาuขึ้นและdลง อินพุตจะเป็นแบบหลายบรรทัดเสมอ แต่จะไม่ถูกเติมด้วยช่องว่างในสี่เหลี่ยมที่สมบูรณ์แบบเสมอ นอกจากนี้แฮชสามารถอยู่ที่ใดก็ได้ในสตริงและจะไม่เชื่อมต่อกันเสมอ ตัวอย่างเช่น: ## ## # # ## p # …

1
รวบรวมถังขยะ
คุณกำลังมองไปที่ถนนและมีบางคนทิ้งขยะ! คุณต้องเขียนโปรแกรมเพื่อช่วยแก้ไขปัญหาโดยการทิ้งขยะลงในถังขยะ งาน avenue ประกอบด้วยสตริงของอักขระ ASCII ที่พิมพ์ได้เช่น: [[](dust)[]] car ((paper)vomit) (broken(glass)) [[] (rotten) fence (dirty) วงเล็บบางตัวที่นี่ไม่มีที่เปรียบ นั่นเป็นเพียงล่อ สิ่งที่เราใส่ใจคือชุดของวงเล็บที่ตรงกัน ถังขยะเป็นสตริงที่เริ่มต้นด้วย[และลงท้ายด้วย]และมีวงเล็บจับคู่ภายในและวงเล็บ ตัวอย่างเช่น[]และ[[](dust)[]]เป็นถังขยะในสตริงด้านบน ถุงขยะเป็นสตริงที่เริ่มต้นด้วย(และลงท้ายด้วย)และมีวงเล็บจับคู่ภายในและวงเล็บ ตัวอย่างเช่น(dust)เป็นถุงขยะในสตริงด้านบน เป็นไปได้ว่าถุงขยะบางส่วนอยู่ในถังขยะแล้ว อย่างไรก็ตามจะมีอย่างน้อยหนึ่งรายการที่ถูกทิ้งไว้และเราจำเป็นต้องย้ายถุงขยะเพื่อให้พวกเขาทั้งหมดอยู่ในถังขยะ โดยเฉพาะสำหรับถุงขยะแต่ละถุงที่ไม่ได้อยู่ในถังขยะในปัจจุบัน (เช่นซับสตริงของถังขยะนั้น) เราต้องลบมันออกจากตำแหน่งปัจจุบันในสตริงและแทรกลงในสถานที่ที่อยู่ในถังขยะแทน . มีกฎเพิ่มเติมที่นี่ เนื่องจากเราไม่ต้องการใช้เงินมากเกินไปกับนักสะสมขยะและเส้นทางของพวกเขาพาพวกเขาไปตามถนนจากทางซ้ายไปขวาเราต้องการย้ายถุงขยะแต่ละใบไปทางซ้าย (เกณฑ์ที่สำคัญที่สุดสมมติว่าเราต้องย้ายที่ ทั้งหมด) และระยะทางที่สั้นที่สุดเท่าที่จะทำได้ (ตราบเท่าที่มันถูกย้ายไปทางซ้าย) ตัวอย่างเช่นเอาต์พุตที่ถูกต้องเท่านั้นสำหรับ [can1](bag)[can2] คือ [can1(bag)][can2] (เลื่อนถุงไปทางซ้ายหนึ่งตัวอักษร) นอกจากนี้ถุงต้องอยู่ในลำดับที่สัมพันธ์กัน: [can](bag1)(bag2) ต้องเป็น [can(bag1)(bag2)] (เช่นคุณไม่สามารถวาง(bag2)ที่ด้านซ้ายของ(bag1)) ชี้แจง จะไม่มีถุงขยะอยู่ทางซ้ายของถังขยะซ้ายสุด มันจะเป็นไปได้ที่จะสามารถทิ้งขยะทั้งหมดด้วยการย้ายไปทางซ้าย จะต้องมีอย่างน้อยหนึ่งถุงที่จะย้าย อาจมีมากกว่าหนึ่ง จะไม่มีถังขยะอยู่ในถุงขยะ …

6
พิมพ์แองเจิลร้องเพลง
รักษารูปแบบเทศกาลพิมพ์ทูตสวรรค์ร้องเพลงแครอลด้วยรหัสที่สั้นที่สุด ทูตสวรรค์กำลังหาเงินบริจาคให้คนไร้บ้านดังนั้นจะต้องสามารถร้องเพลงทั้งสามเพลงด้านล่างได้ตามคำขอ เพื่อแสดงให้เห็นว่าเธอสามารถร้องเพลงได้พวกเขาจะต้องวางชื่อเพลงไว้ในกรอบคำพูด ชื่อเพลงนี้จะถูกป้อนโดยผู้ใช้ ตัวอย่างรวมถึง: แม่แมรี่ ระฆังกริ๊ง คืนเงียบ การป้อนข้อมูล: หัวข้อ: 1 จาก 3 เพลง เอาท์พุท: ____________ (\ ___ /) / \ ( \ (‘o‘) / ) / \ ( ) < ( ‘> <’ ) \ / / \ \____________/ / \ ‘ – “ - ‘ โปรดวางผลลัพธ์ของนางฟ้าแห่งการร้องเพลงของคุณพร้อมกับเพลง: "Silent Night" …

5
ระยะทางแมนฮัตตันของลำดับการหมุน
ฉันคิดว่านี่จะเป็นความท้าทายที่ดี: http://adventofcode.com/2016/day/1 คำอธิบายงาน กำหนดลำดับการหมุนและระยะทางตามรูปแบบ (L | R) [1-9] [0-9] * ให้ระยะทางแมนฮัตตันระหว่างจุดเริ่มต้นและจุดสิ้นสุดนั่นคือจำนวนน้อยที่สุดของการเคลื่อนที่ในแนวตั้งและแนวนอนบน ตาราง ตัวอย่าง ตัวอย่างเช่นหากเราคิดว่าคุณเริ่มหันหน้าไปทางทิศเหนือ: การติดตาม R2, L3 จะทำให้คุณ 2 บล็อกตะวันออกและ 3 บล็อกเหนือหรือ 5 บล็อก R2, R2, R2 ปล่อยให้คุณ 2 ช่วงตึกทางใต้ของตำแหน่งเริ่มต้นของคุณซึ่งอยู่ห่างออกไป 2 ช่วงตึก R5, L5, R5, R3 ทำให้คุณอยู่ห่างออกไป 12 ช่วงตึก รายละเอียดทางเทคนิค คุณสามารถเลือกตัวคั่นระหว่างการเคลื่อนไหว (เช่น: "\ n", "," หรือ ",") คุณต้องให้คำตอบเป็นจำนวนเต็มในฐาน 10 ไม่ซ้ำ! …
9 code-golf 

11
ช่องสี่เหลี่ยมทั้งหมดที่ตรงกับลำดับสัญลักษณ์แทน [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา สิ่งนี้ได้รับแรงบันดาลใจจากส่วนหนึ่งของปัญหาการแข่งขัน ARML ประจำปี 2559 นี่คือความท้าทาย: คุณได้รับ "ลำดับตัวแทน" ซึ่งเป็นลำดับตัวเลขและตัวละครอื่น สตริงตรงกับลำดับ wildcard นี้โดย pseudocode ต่อไปนี้: w = wildcard s = string # s matches w iff for all 0 >= i > wildcard.length, w[i] == '?' or s[i] == w[i] ที่ไหน '?' เป็นตัวละครที่คุณเลือก ในแง่ของการ regex …

1
ประเภทโปเกมอนที่ทนทานที่สุด
พื้นหลัง คำถามนี้จะคล้ายกับคนนี้ ฉันได้ให้ข้อมูลทั้งหมดที่จำเป็นด้านล่าง หากคุณคุ้นเคยกับความท้าทายอื่น ๆ โปรดทราบว่าเราจัดอันดับการป้องกันทั้งหมดแทนที่จะดูประสิทธิภาพของการโจมตีเพียงครั้งเดียว สิ่งนี้สำคัญเนื่องจากหมายความว่าตารางเป็นผกผันซึ่งกันและกันและเป้าหมายของการท้าทายนี้คือต้องไม่มีผู้ใช้ป้อนข้อมูล ในโปเกมอนมีทั้งหมด 18 ชนิด: Normal Fighting Flying Poison Ground Rock Bug Ghost Steel Fire Water Grass Electric Psychic Ice Dragon Dark Fairy โปเกมอนมีประเภทที่ไม่ซ้ำกันหนึ่งหรือสองอย่างที่กำหนดไว้ ("การรวมประเภท") ตัวอย่างเช่น Bulbasaur มีการผสมผสานประเภท Grass / Poison (มีสองประเภทคือ Grass และ Poison) และ Charmander มีการรวมประเภท Fire (มีเพียงหนึ่งประเภท) ลำดับของประเภทไม่สำคัญ (เช่นหญ้า / พิษเหมือนกันกับพิษ / …

3
รหัสกอล์ฟเป็นเมทริกซ์มุมฉากแบบสุ่ม
เมทริกซ์มุมฉากเป็นเมทริกซ์ตารางกับรายการจริงที่มีคอลัมน์และแถวเวกเตอร์หน่วยมุมฉาก (เช่นเวกเตอร์ orthonormal) นี่หมายความว่า M ^ TM = I โดยที่ฉันคือเมทริกซ์เอกลักษณ์และ ^ T หมายถึงการเคลื่อนย้ายเมทริกซ์ โปรดทราบว่านี่คือมุมฉากไม่ใช่ "orthogonal พิเศษ" ดังนั้นดีเทอร์มีแนนต์ของ M สามารถเป็น 1 หรือ -1 เป้าหมายของการท้าทายนี้ไม่ใช่ความแม่นยำของเครื่องจักรดังนั้นหาก M ^ TM = I ถึงภายในทศนิยม 4 ตำแหน่งที่จะใช้ได้ งานคือการเขียนโค้ดที่ใช้เวลาเป็นจำนวนเต็มบวกn > 1และผลสุ่มมุมฉาก n โดย n เมทริกซ์ เมทริกซ์ควรจะแบบสุ่มและสม่ำเสมอได้รับการแต่งตั้งจากทั้งหมด n โดย n เมทริกซ์มุมฉาก ในบริบทนี้ "เครื่องแบบ" ถูกกำหนดในแง่ของการวัดฮาร์ซึ่งจำเป็นต้องมีการกระจายที่ไม่เปลี่ยนแปลงถ้าคูณด้วยเมทริกซ์มุมฉากที่เลือกอย่างอิสระใด ๆ นี่หมายความว่าค่าของเมทริกซ์จะเป็นค่าทศนิยมในช่วง -1 ถึง …

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