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

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

14
Mario Kart ให้คะแนนด้วยความสัมพันธ์
ฉันพบปัญหานี้ในขณะที่ทำงานกับความท้าทายอื่นที่ฉันทำกับไซต์นี้ ในความท้าทายนั้นฉันใช้ " Mario Kart 8 Scoring " จำนวนคะแนนที่ผู้เล่นได้รับในลำดับที่kจะได้รับการแสดงโดยอาเรย์ 1 ที่มีการจัดทำดัชนีนี้: [15,12,10,9,8,7,6,7,6,5,4,3,2,1] อันดับที่ 1 ได้รับ 15 คะแนนอันดับที่ 2 ได้รับ 12 คะแนน ฯลฯ มันง่ายพอที่จะกำหนดคะแนนเช่นนี้อย่างไรก็ตามส่วนที่ยุ่งยากมาพร้อมกับวิธีที่ฉันจัดการกับความสัมพันธ์ สิ่งที่ฉันทำคือให้คะแนนเฉลี่ยที่ผู้เล่นแต่ละคนได้รับในแต่ละตำแหน่ง ตัวอย่างเช่นหากมีการผูก 1 และ 2 ผู้เล่นทั้งสองจะได้รับ (15 +12) / 2 = 13.5 คะแนน (หมายเหตุ: คุณได้รับอนุญาตให้ปัดเศษเป็น int ที่ใกล้ที่สุดดังนั้นทั้ง 13 หรือ 14 จึงเป็นที่ยอมรับเช่นกัน) จากนั้นอันดับที่ 3-12 จะได้รับคะแนนตามปกติสำหรับตำแหน่งของพวกเขา ท้าทาย ได้รับ 12 …

15
หารด้วย 1000003? ง่ายเพียงแค่คูณตัวเลขสุดท้ายด้วย 300001 และเพิ่ม!
กำหนดที่สำคัญPมากกว่า10โปรแกรมหรือการทำงานของคุณจะต้องคิดออกกฎหารของxกำหนดเป็นจำนวนเต็มกับค่าสัมบูรณ์ที่เล็กที่สุดที่ทำให้หลายนายกเดิมเมื่อคูณด้วยหลักสุดท้ายของนายกและเพิ่มในส่วนที่เหลือของเดิม สำคัญ ตัวอย่าง ได้รับการป้อนข้อมูล31ที่เป็นตัวเลขหลักสุดท้ายและส่วนที่เหลือของจำนวน1 3ดังนั้นโปรแกรมของคุณจะต้องพบกับจำนวนเต็มxกับค่าสัมบูรณ์ขั้นต่ำดังกล่าวว่ามีหลาย1*x + 3 31ในกรณีนี้การทำงานเพื่อให้โปรแกรมหรือฟังก์ชั่นจะกลับมาx=-3-3 ได้รับการป้อนข้อมูล1000003ที่เป็นตัวเลขหลักสุดท้ายและส่วนที่เหลือของจำนวน3 100000ดังนั้นโปรแกรมของคุณจะพบx=300001เพราะสิ่ง3*300001+100000 = 1000003ที่เป็นจำนวน1000003มาก พื้นหลังทางคณิตศาสตร์ ค่าของxสามารถใช้เป็นการทดสอบการหารได้ หากตัวเลขNหารด้วยPแล้วการเพิ่มจำนวนxหลักสุดท้ายของNส่วนที่เหลือNจะให้ผลคูณของจำนวนPและถ้าหากNหารด้วยPในตอนแรก สำหรับการP=11ที่เราได้รับx=-1ซึ่งจะเทียบเท่ากับกฎหารที่รู้จักกันดีสำหรับ11: หมายเลขคือหารด้วยความแตกต่างสลับหลักของมันคือการหารด้วย1111 กฎระเบียบ เอาต์พุตอาจอยู่ในรูปแบบใด ๆ ที่เข้ารหัสทั้งสัญญาณและมูลค่าของเอาต์พุตอย่างชัดเจน อินพุตที่สำคัญจะอยู่ระหว่าง 10 และ 2 ^ 30 คุณไม่จำเป็นต้องจัดการถ้าอินพุตไม่ใช่ไพร์มหรือไม่อยู่ในช่วง คุณไม่จำเป็นต้องจัดการหากทั้งคู่xและ-xเป็นผลลัพธ์ที่ถูกต้อง (ไม่ควรเกิดขึ้น) อนุญาตให้ใช้กำลังแบบเดรัจฉาน แต่ได้รับการยอมรับในการสร้างสรรค์โซลูชั่นมากขึ้น นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในแต่ละภาษาชนะ! อย่าปล่อยให้คำตอบในภาษากอล์ฟกีดกันคุณจากการโพสต์ในภาษาอื่น ๆ กรณีทดสอบ Input Output 11 -1 13 4 17 -5 19 2 23 7 …

11
ค้นหาแทนเจนต์ของผลรวมของแทนเจนต์ผกผัน
พื้นหลัง ก็สามารถที่จะแสดงให้เห็นว่าสำหรับจำนวนเต็มใด ๆk >= 0, f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))เป็นจำนวนจริง เป้าหมาย เขียนโปรแกรมหรือฟังก์ชั่นที่สมบูรณ์ซึ่งเมื่อได้รับk >= 0ผลลัพธ์จะf(k)เป็นส่วนที่ลดลงเพียงครั้งเดียว (ตัวเศษและส่วนคือ coprime) กรณีทดสอบ ค่าแรก ๆ คือ f(0) = (0,1) f(1) = (1,1) f(2) = (-3,1) f(3) = (0,1) f(4) = (4,1) f(5) = (-9,19) f(6) = (105,73) กฎระเบียบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม อินพุตและเอาต์พุตอาจอยู่ในรูปแบบที่สะดวก …

20
ระบุสัญลักษณ์ของเซลล์
ดังนั้นเราทุกคนหวังว่าจะคุ้นเคยกับสัญกรณ์เซลล์ Spreadsheet 'A1' มันเป็นเพียงตัวอักษรและตัวเลขของการวางตำแหน่งของเซลล์ดังกล่าวภายในตาราง ตัวอักษรแสดงถึงการวางตำแหน่งคอลัมน์ของเซลล์และตัวเลขแสดงถึงแถว ส่วน 'ตัวอักษร' อาจประกอบด้วยตัวอักษรอย่างน้อย 1 ตัวจากตัวอักษรภาษาอังกฤษ 26 ตัวซึ่งทั้งหมดต้องเป็นตัวพิมพ์ใหญ่ แผนที่เหล่านี้เป็นตัวเลขโดยใช้การคำนวณตัวเลข bijective 26 adic ส่วน 'หมายเลข' อาจประกอบด้วยจำนวนเต็มบวกที่ไม่เป็นศูนย์ ความท้าทายเขียนโปรแกรมที่ให้สัญลักษณ์ A1 ของเซลล์ใด ๆ เป็นสตริงเดียวสามารถส่งออกสตริงที่มีตำแหน่งคอลัมน์ที่แสดงเป็นตัวเลขตามด้วยช่องว่างแล้วตามด้วยหมายเลขแถว ตัวอย่างอินพุต / เอาต์พุตด้านล่าง: A1 >>1 1 B10 >>2 10 AC4 >>29 4 AAC753 >>705 753 F123 >>6 123 GL93 >>194 93 นี่คือความท้าทายครั้งแรกของฉันดังนั้นความเรียบง่ายสัมพัทธ์และความอ่อนแอที่มีศักยภาพของเกณฑ์ แก้ไข : สตริงจะต้องเป็นตัวอักษรตามด้วยตัวเลขและเกณฑ์การชนะคือความยาวรหัสที่สั้นที่สุด (ถ้าเป็นได้) …

7
รหัส PPCG ของฉันคืออะไร
ท้าทาย ระบุชื่อของสมาชิก PPCG ส่งออกหมายเลข PPCG ID หากไม่มีผู้ใช้คุณอาจรายงานข้อผิดพลาดหรือส่งกลับหมายเลขที่ไม่เป็นบวกใด ๆ หากมีสมาชิกหลายคนที่มีชื่อนี้คุณสามารถเลือกที่จะส่งออกเพียง ID เดียวหรือทั้งหมด กรณีทดสอบ "musicman523" -> 69054 "Dennis" -> 12012 "xnor" -> 20260 "แม่ชีรั่ว" -> 48934 "fəˈnɛtɪk" -> 64505 "JörgHülsermann" -> 59107 "ชุมชน" -> -1 "ผู้ใช้ใด ๆ ที่ไม่มีอยู่" -> 0 "Alex" -> 69198 (นี่คือผลลัพธ์ที่เป็นไปได้หนึ่งรายการ) "Leaky N" -> 0 "Jorge" -> 3716

6
Double Slit Experiment
นักฟิสิกส์ขี้เกียจมีหน้าที่ในการทำการทดลองสองช่อง อย่างไรก็ตามพวกเขาขี้เกียจและไม่สามารถใส่ใจในการตั้งค่าอุปกรณ์ทั้งหมดด้วยตัวเองและเพื่อจำลองผลกระทบ พวกเขาไม่สามารถตั้งโปรแกรมได้ดังนั้นจะต้องการความช่วยเหลือบ้าง โปรแกรมของคุณควรสั้นที่สุดเท่าที่จะเป็นไปได้ รับจำนวนเต็มบวกคี่n( n >= 1และn % 2 == 1) ทำการจำลอง มันทำงานอย่างไร คุณจะเริ่มต้นด้วยผ้าใบที่ว่างเปล่าและแต่ละเฟรมจะมีแสงอนุภาคเดียวผ่านทะลุและลงบนผืนผ้าใบ อนุภาคจะตกลงมาถึงจุดสูงสุดโดยมีโอกาส: n = 1: +-----+ | | | 1/2 | | | +-----+ n = 3: +-----+ +-----+ +-----+ | | | | | | | 1/4 | | 1/2 | | 1/4 | | …

30
“ สวัสดีโลก!” (ด้ายของตำรวจ)
นี่คือด้ายของตำรวจ ด้ายโจรเป็นที่นี่ ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่มีอินพุตที่แน่นอนพิมพ์สตริงที่แน่นอนHello, World!และขึ้นบรรทัดใหม่ การใช้ตัวพิมพ์ใหญ่เว้นวรรคและเครื่องหมายวรรคตอนต้องเป็นตัวพิมพ์ใหญ่ อินพุตอาจถูกใช้ผ่านอินพุตมาตรฐานไฟล์หรืออาร์กิวเมนต์บรรทัดรับคำสั่ง / ฟังก์ชัน เอาต์พุตอาจถูกกำหนดผ่านค่าส่งคืนการเขียนไปยังไฟล์หรือเอาต์พุตมาตรฐาน โปรแกรมของคุณจะต้องพิมพ์Hello, World!อย่างน้อยหนึ่งอินพุต เมื่อโปรแกรมของคุณได้รับอินพุตผิด (เช่นอินพุตที่ไม่ได้ทำการพิมพ์Hello, World! ) มันสามารถทำอะไรก็ได้ที่คุณต้องการ - ขัดข้องพิมพ์เรื่องไร้สาระสุ่มโทร Chuck Norris เป็นต้น คุณไม่สามารถใช้อัลกอริทึมการแปลงแป้นพิมพ์หรือวิธีการที่คล้ายกันในการปิดบังอินพุตที่ต้องการ สิ่งที่ส่งมานั้นต้องการให้สามารถรันได้ & ถอดรหัสได้ TIO อนุญาตให้ส่งไฟล์ที่ไม่สามารถเรียกใช้หรือถอดรหัสได้ใน TIO แต่โปรดรวมคำแนะนำในการดาวน์โหลด / เรียกใช้ หลังจากผ่านไปหนึ่งสัปดาห์ความท้าทายนี้จะถูกปิดเพื่อส่งให้ตำรวจในอนาคต ผู้ชนะคือรหัสที่สั้นที่สุดที่ไม่ได้ทำการถอดหลังจากหนึ่งสัปดาห์ของการโพสต์ ("เป็น" เป็นรหัสไม่ใช่ความท้าทายนี้) ผู้ชนะจะได้รับการยอมรับหลังจากสองสัปดาห์ หลังจากผ่านไปหนึ่งสัปดาห์ตั้งแต่โพสต์โปรดทำเครื่องหมายคำตอบของคุณว่าปลอดภัยและแสดงอินพุต (ใน> ! spoiler quote) หากโจรปล้นการส่งของคุณ (ก่อนสัปดาห์สิ้นสุด) โปรดทำเครื่องหมายว่าแคร็กแล้วแสดงการหยุดพัก (ใน> ! spoiler quote ) กำลังมองหาการส่งที่ไม่ได้ติดตาม? …

10
การเสี่ยงภัย: ลงไป
เมื่อให้ลูกเต๋าสองรายการสำหรับการต่อสู้ใน Risk โปรแกรมหรือฟังก์ชันของคุณจะต้องแสดงจำนวนกองทหารที่ผู้เล่นแต่ละคนแพ้ พื้นหลัง คุณไม่จำเป็นต้องอ่านสิ่งนี้เพราะมันเป็นเพียงพื้นหลัง ข้ามไปยังหัวข้อย่อย "งาน" เพื่อดำเนินการต่อไปคงที่ ในเกมแห่งความเสี่ยงผู้เล่นคนหนึ่งสามารถโจมตีผู้เล่นอื่นได้ (ในความเป็นจริงมันเป็นสิ่งจำเป็นที่จะชนะ) ผลลัพธ์ของการต่อสู้จะพิจารณาจากการทอยลูกเต๋า การต่อสู้ทุกครั้งเกิดขึ้นเนื่องจากการต่อเนื่องของการรบย่อยซึ่งผู้เล่นแต่ละคนสามารถแพ้ได้2ชิ้นส่วนของกองทัพ ในการต่อสู้ย่อยผู้พิทักษ์และผู้โจมตีแต่ละคนทอยลูกเต๋าหลายลูกซึ่งจำนวนอาจแตกต่างกันไปตามสถานการณ์ที่ไม่เกี่ยวข้องกับความท้าทายนี้ ค่าสูงสุดของผู้โจมตีนั้นเทียบกับค่าสูงสุดของผู้พิทักษ์ หากผู้โจมตีเสียชีวิตสูงกว่าผู้พิทักษ์ตายฝ่ายป้องกันเสียหนึ่งชิ้น มิฉะนั้นผู้โจมตีสูญเสียหนึ่งชิ้น จากนั้นหากผู้เล่นทั้งสองมีอย่างน้อยสองลูกเต๋าลูกเต๋าที่มีมูลค่าสูงสุดอันดับสองของผู้เล่นทั้งสองจะถูกเปรียบเทียบ อีกครั้งถ้าผู้โจมตีตายมากกว่าผู้พิทักษ์ฝ่ายตายผู้พิทักษ์เสียชิ้นเดียว มิฉะนั้นผู้โจมตีสูญเสียหนึ่งชิ้น (Defender ชนะการผูกหากทั้งผู้พิทักษ์และผู้โจมตีกลิ้ง a 4ผู้โจมตีจะแพ้ชิ้น) ในการต่อสู้ย่อยจากบทความ Wikipedia ลูกเต๋าของผู้โจมตีเป็นสีแดงและลูกเต๋าของผู้พิทักษ์เป็นสีขาว สูงสุดของลูกเต๋าโจมตีเป็นและสูงสุดของการมีกองหลังของ4 3เนื่องจากผู้โจมตีสูงขึ้นผู้พิทักษ์จึงเสียส่วนหนึ่ง อันดับสอง3สำหรับผู้โจมตีและ2ผู้พิทักษ์ เนื่องจากผู้โจมตีสูงขึ้นอีกครั้งผู้พิทักษ์จึงเสียอีกชิ้นหนึ่ง ดังนั้นในการรบย่อยนี้ผู้โจมตีไม่ต้องเสียชิ้นใดเลยและผู้พิทักษ์ก็สูญเสีย2ชิ้นส่วนไป โปรดทราบว่าชิ้นส่วนที่สามที่สูงที่สุดจะไม่ถูกเปรียบเทียบ นี่เป็นเพราะผู้พิทักษ์ไม่มีลูกเต๋ามากกว่าสองครั้งในการรบย่อยครั้งเดียวดังนั้นจึงไม่มีการเปรียบเทียบชิ้นที่สามที่สูงที่สุดเท่าที่เคยมีมา งาน ให้ลูกเต๋าที่ไม่ได้เรียง (จำนวนเต็มในช่วง 1 ถึง 6 รวม) ของทั้งผู้โจมตีและผู้ปกป้องการรบย่อยของความเสี่ยงในรูปแบบที่สะดวกสบายใด ๆ ส่งออกจำนวนชิ้นส่วนกองทัพที่ผู้เล่นแต่ละคนแพ้ เอาต์พุตอาจอยู่ในรูปแบบที่สะดวกใด ๆ ตราบใดที่มีเอาต์พุตต่างกันเพื่อระบุความเป็นไปได้ทั้งห้า คุณต้องระบุว่าอะไรคือผลลัพธ์ที่แตกต่างกันในคำถามของคุณ เอาท์พุทจะถูกกำหนดดังนี้เริ่มต้นด้วยและdef=0 ถ้าค่าที่ยิ่งใหญ่ที่สุดของรายการของลูกเต๋าม้วนโจมตีที่มีค่ามากกว่าค่ามากที่สุดของรายการของลูกเต๋าม้วนของกองหลังที่เพิ่มขึ้นแล้วatk=0 มิฉะนั้นการเพิ่มขึ้นdefatk …

9
ทำโซ่ที่ไม่มีที่สิ้นสุด
ให้นิยามคลาสของฟังก์ชัน ฟังก์ชั่นเหล่านี้จะแมปจากจำนวนเต็มบวกกับจำนวนเต็มบวกและต้องเป็นไปตามข้อกำหนดต่อไปนี้: ฟังก์ชั่นจะต้องเป็น Bijective ซึ่งหมายความว่าทุกค่าจะจับคู่กับและถูกแมปด้วยค่าหนึ่งค่า คุณจะต้องสามารถรับจำนวนเต็มบวกจากจำนวนเต็มบวกอื่น ๆ ได้โดยการใช้ฟังก์ชั่นซ้ำ ๆ ของฟังก์ชันหรืออินเวอร์ส ตอนนี้เขียนโค้ดที่จะทำหน้าที่ใด ๆ หนึ่งฟังก์ชั่นในชั้นเรียนนี้ในการป้อนข้อมูลของมัน นี่เป็นคำถามเกี่ยวกับรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยไบต์น้อยจะดีขึ้น
16 code-golf  math  number 

11
ผลรวมสะสมแบบแบ่งพาร์ติชัน 2D
ท้าทาย รับเมทริกซ์Mพร้อมแถวrและคอลัมน์cและ Boolean สองรายการแสดงรายการVของความยาวrและHของความยาวcให้คำนวณผลรวมแนวตั้งและแนวนอนที่แบ่งพาร์ติชันแล้ว กฎระเบียบ rและcมากกว่าหรือเท่ากับหนึ่ง HและVเริ่มต้นด้วยมูลค่าที่แท้จริง ค่าในMอยู่ภายในโดเมนตัวเลขที่สมเหตุสมผลของภาษาของคุณ การแบ่งพาร์ติชันและการสรุปเริ่มต้นที่มุมซ้ายบน เดินผ่าน ให้M : ┌──────────────┐ │ 1 2 3 4 5│ │ 6 7 8 9 10│ │11 12 13 14 15│ │16 17 18 19 20│ └──────────────┘ H :1 0 1 0 0 V :1 1 0 1 แยกMเป็นกลุ่มของคอลัมน์เริ่มต้นกลุ่มใหม่ในทุกมูลค่าที่แท้จริงของH ┌─────┬────────┐ │ …

7
มีพาร์ติชั่นกี่ตัวที่มีสี่เหลี่ยมสมบูรณ์แบบเท่านั้น?
กำหนดจำนวนเต็มไม่เป็นลบหรือรายการของตัวเลขกำหนดจำนวนตัวเลขที่สามารถเกิดขึ้นได้โดยการเชื่อมต่อจำนวนตารางซึ่งอาจมีเลขศูนย์นำหน้า ตัวอย่าง input -> output # explanation 164 -> 2 # [16, 4], [1, 64] 101 -> 2 # [1, 01], [1, 0, 1] 100 -> 3 # [100], [1, 00], [1, 0, 0] 1 -> 1 # [1] 0 -> 1 # [0] 164900 -> 9 # [1, 64, …

20
ค้นหา Serialized Integer
งาน เขียนโปรแกรมที่จะใช้ (เป็นอินพุต) จำนวนเต็มบวก จากนั้นจะนับจากการ0ผนวกแต่ละจำนวนเต็มกับ a Stringต่อเมื่อความยาวของStringน้อยกว่าค่าของอินพุต เนื่องStringจำนวนเต็มถูกกำหนดให้เป็นจำนวนเต็มเต็มรูปแบบที่มีมูลค่าสูงสุดเป็นของ โดย "เต็มรูปแบบ" จำนวนเต็มไม่ควรมีตัวเลขที่หายไป (ซึ่งจะเกิดขึ้นหากข้อจำกัดความยาวของข้อมูลStringตรงกัน) เอาต์พุตของโปรแกรมควรเป็นจำนวนเต็มต่อเนื่องสำหรับอินพุตที่เป็นบวกของมัน กฎระเบียบ มันคือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ! อินพุตจะเป็นค่าบวกเสมอ เอาต์พุตจะต้องเป็นจำนวนเต็มใน base-10 (ฐานสิบ) โปรแกรมจะต้องจัดทำดัชนี 0 ตัวอย่างอินพุต | เอาท์พุต 5 | 4 (0 1 2 3 4 - Length of 5) 11 | 9 (0 1 2 3 4 5 6 7 8 …

4
การพิชิตโลกที่เก่าแก่
ความท้าทายนี้จะตามออกHelka Hombaคำถามของการเขียนโปรแกรมที่เก่าแก่โลก จากคำถามนั้นคำจำกัดความของโปรแกรมที่เก่าแก่คือ: ลองกำหนดโปรแกรมที่เก่าแก่เป็นโปรแกรมที่ไม่มีข้อผิดพลาดใด ๆ แต่จะเกิดข้อผิดพลาดหากคุณแก้ไขโดยการลบสตริงย่อยที่ต่อเนื่องกันของอักขระ N ตัวใดตัว1 <= N < program lengthหนึ่ง ตัวอย่างเช่นโปรแกรมสามตัวอักษร Python 2 `8` เป็นโปรแกรมที่เก่าแก่( ขอบคุณ, Sp )เพราะโปรแกรมทั้งหมดที่เกิดจากการลบสตริงย่อยของความยาว 1 ทำให้เกิดข้อผิดพลาด (ข้อผิดพลาดทางไวยากรณ์ในความเป็นจริง แต่ข้อผิดพลาดประเภทใดจะทำ): 8` `` `8 และโปรแกรมทั้งหมดที่เป็นผลมาจากการลบสตริงย่อยของความยาว 2 ทำให้เกิดข้อผิดพลาด: ` ` ตัวอย่างเช่นหาก`8เป็นโปรแกรมที่`8`ไม่มีข้อผิดพลาดก็จะไม่ได้รับความบริสุทธิ์เนื่องจากผลลัพธ์ทั้งหมดของการลบสตริงย่อยจะต้องเกิดข้อผิดพลาด หมายเหตุ: คำเตือนของคอมไพเลอร์จะไม่นับเป็นข้อผิดพลาด โปรแกรมย่อยที่มีข้อผิดพลาดสามารถรับอินพุตหรือให้เอาต์พุตหรือทำสิ่งอื่นตราบใดที่ข้อผิดพลาดไม่ว่าอะไรจะเกิดขึ้นในที่สุด งานของคุณคือการสร้างโปรแกรมที่มีความยาวไม่เป็นศูนย์ซึ่งจะพิมพ์ซอร์สโค้ดของตัวเองอย่างแน่นอนปฏิบัติตามกฎสำหรับควินินที่เหมาะสมและมีความเก่าแก่ คำตอบสั้น ๆ เป็นไบต์สำหรับแต่ละภาษาที่ชนะ

2
เอาต์พุตองค์ประกอบดั้งเดิมสำหรับแต่ละขนาดฟิลด์
องค์ประกอบดั้งเดิมของฟิลด์ จำกัด เป็นเครื่องกำเนิดไฟฟ้าของกลุ่มคูณของสนาม ในคำอื่น ๆalphaในF(q)ที่เรียกว่าองค์ประกอบดั้งเดิมถ้ามันเป็นแบบดั้งเดิมq−1ราก TH F(q)ของความสามัคคีใน ซึ่งหมายความว่าองค์ประกอบที่ไม่ใช่ศูนย์ทั้งหมดของF(q)สามารถเขียนเป็นalpha^iบาง (บวก) iจำนวนเต็ม องค์ประกอบทั้งหมดของสนามF_{2^k}สามารถเขียนเป็นพหุนามของระดับที่มากที่สุดk-1มีค่าสัมประสิทธิ์ที่มีทั้งหรือ1 0เพื่อที่จะทำให้เสร็จสมบูรณ์รหัสของคุณยังจำเป็นต้องมีพหุนามลดระดับkซึ่งกำหนดเขตข้อมูลที่คุณใช้ งานคือการเขียนรหัสที่แสดงองค์ประกอบดั้งเดิมของF_{2^k}การเลือกของคุณตามk = 1 .. 32ลำดับ ผลลัพธ์ของคุณจะต้องแสดงรายการkค่าสัมประสิทธิ์ขององค์ประกอบดั้งเดิมในรูปแบบใด ๆ ที่คุณต้องการแล้วแยกk+1องค์ประกอบของพหุนามลดขนาดลงในบรรทัดแยกต่างหาก กรุณาแยกเอาท์พุทสำหรับแต่ละค่าkถ้าเป็นไปได้ รหัสของคุณอาจใช้เวลานานเท่าที่คุณต้องการ แต่คุณต้องเรียกใช้ให้เสร็จก่อนที่จะส่งคำตอบ คุณไม่สามารถใช้ฟังก์ชัน builtin หรือ library ที่ส่งคืนองค์ประกอบดั้งเดิมของฟิลด์ จำกัด หรือทดสอบว่าองค์ประกอบนั้นเป็นแบบดั้งเดิมหรือไม่ ตัวอย่าง สำหรับองค์ประกอบเพียงดั้งเดิมคือk = 11 สำหรับการที่เรามีk = 2 F_44 องค์ประกอบ{0, 1, x, x + 1}จึงมีสององค์ประกอบดั้งเดิมและx x + 1ดังนั้นรหัสสามารถส่งออก 1 1 1 …

2
แสดงดอกไม้ไฟให้ฉันดู!
ให้ในทางใดทางหนึ่งและคำสั่งซื้อ ขนาด (ตามลำดับที่คุณต้องการ) ความน่าจะเป็น (ในรูปแบบที่คุณต้องการ) จำนวนการวนซ้ำ (คุณสามารถเลือกว่าจะนับสถานะเริ่มต้นหรือไม่) ทำอย่างใดอย่างหนึ่งต่อไปนี้: เคลื่อนไหวหรือ เอาต์พุตแต่ละขั้นตอนของหรือ ส่งคืนรายการสถานะของ ท้องฟ้าที่เต็มไปด้วยอวกาศของมิติเหล่านั้น สำหรับการทำซ้ำแต่ละครั้ง: อักขระบนท้องฟ้าทุกตัวมีความน่าจะเป็นที่จะได้รับ * อักขระแปดตัวที่ล้อมรอบ*จะกลายเป็นสิ่งใด ๆ \ | / - - / | \ถ้าพวกเขาไม่ได้กลายเป็นดาวอย่างไร หากตัวละครอยู่ในช่วงสอง*s ให้ทำให้เป็นX ตัวอย่าง ท้องฟ้า 7 × 22 (เฟรมเพื่อความชัดเจนเท่านั้น - อย่าส่งออกเฟรม) ┌──────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ …

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