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

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

4
มัวร์ซ้ำแล้วซ้ำอีก
ข้อมูล ตัวเลข 1 ถึง 9 เป็นตัวแทนของเซลล์หนึ่งในละแวกใกล้เคียงของมัวร์โดยที่ 5 เป็นเซลล์กลาง ดังนั้น: 123 456 789 1={-1,-1} 2={-1, 0} 3={-1, 1} 4={ 0,-1} 5={ 0, 0} 6={ 0, 1} 7={ 1,-1} 8={ 1, 0} 9={ 1, 1} ความท้าทาย คุณสามารถรับอินพุตผ่าน STDIN, ARGV หรืออาร์กิวเมนต์ของฟังก์ชันและส่งคืนผลลัพธ์หรือพิมพ์ไปที่ STDOUT อินพุตคือกริด N x N (ทอรัสทอพอโลยีหมายถึงถ้า x หรือ y คือ <1 จากนั้น …
9 code-golf 

1
แสดงกราฟผลการค้นหาของ Google
เมื่อคุณค้นหาบางสิ่งบางอย่างในGoogleAbout 53,000,000 results (0.22 seconds)ก็อำนวยความสะดวกให้ข้อความอยู่ด้านบนของหน้าพูดอะไรบางอย่างเช่น (ตัวเลขเปลี่ยนไปตามสิ่งที่ค้นหาแน่นอน) ในการท้าทายนี้คุณจะเขียนโปรแกรมที่ดึงกราฟ ASCII แบบลอการิทึมของจำนวนผลลัพธ์ที่กำหนดโดย Google เมื่อค้นหาคำนำหน้าที่ไม่ว่างเปล่าทั้งหมดของวลีค้นหาที่ระบุ ค้นหาวลีถูกกำหนดให้เป็นหนึ่งหรือมากกว่าสตริงของตัวเลขและตัวอักษรตัวพิมพ์เล็กแยกออกจากพื้นที่หนึ่งจากแต่ละอื่น ๆ ใน Regex (?:[a-z0-9]+ )*[a-z0-9]+ค้นหาวลีคือ ดังนั้นim ok, rและ1a 2ทุกคนค้นหาวลี แต่I'm OK, R, 1a 2และจะไม่ได้ (ข้อ จำกัด ของตัวละครอยู่ในตำแหน่งเพราะ Google ไม่ค่อยคำนึงถึงตัวพิมพ์ใหญ่หรือสัญลักษณ์พิเศษเข้ามาด้วยการหลีกเลี่ยงอักขระที่ไม่ใช่ตัวอักษรและตัวเลขใน URL ก็เป็นเรื่องยุ่งยากเช่นกัน) สเป็ค โปรแกรมของคุณจะต้องใช้วลีค้นหาและเลขทศนิยมเป็นบวก H จาก stdin หรือบรรทัดคำสั่ง (คุณสามารถสันนิษฐานได้ว่ามันใช้ได้และไม่เป็นไรถ้าคุณต้องการคำพูดหรือสิ่งที่อยู่รอบ ๆ วลีค้นหา) เป็นตัวอย่างการทำงานสมมติว่าวลีค้นหาคือa carและ H = 0.75 ขั้นตอนที่ 1: รวบรวมคำนำหน้าไม่ว่างเปล่าของการค้นหาวลีของคุณและใส่ไว้ในเครื่องหมายคำพูดคู่ …

7
เรียงตามตัวอักษรที่กำหนดเอง
ความท้าทายคือการจัดทำโปรแกรมที่เรียงลำดับรายการคำศัพท์เฉพาะที่จำเป็นต้องเรียงตามลำดับตัวอักษรแบบสุ่ม โปรแกรมของคุณจะยอมรับสตริงของคำที่คั่นด้วยเครื่องหมายจุลภาคและตัวอักษรใหม่ โปรแกรมของคุณจะแสดงผลทุกคำด้วยวิธีเดียวกันในลำดับที่เรียงลำดับใหม่ ตัวอย่าง: การป้อนข้อมูล: home,oval,cat,egg,network,green bcdfghijklmnpqrstvwxzaeiouy เอาท์พุท: cat,green,home,network,egg,oval มันคือ รหัสกอล์ฟดังนั้นผู้ชนะคือบุคคลที่มีโปรแกรมสั้นที่สุด นี่เป็นความท้าทายครั้งแรกของฉันดังนั้นการปรับปรุงคำถาม / ความท้าทายจะได้รับการชื่นชม

11
โซลิแทร์บัลแกเรีย
บัลแกเรีย Solitaireเป็นเกมที่เล่นคนเดียวทำให้เป็นที่นิยมโดยมาร์ตินการ์ดเนอร์ของเขาในคอลัมน์ทางคณิตศาสตร์วิทยาศาสตร์อเมริกัน คุณมีNไพ่เหมือนกันแบ่งออกเป็นกอง คุณรับการ์ดจากแต่ละกองและสร้างกองใหม่กับการ์ดที่ถูกลบออก คุณทำขั้นตอนนี้ซ้ำจนกว่าจะถึงสถานะที่คุณเคยเห็นและจะดำเนินการวนซ้ำ ตัวอย่างเช่นสมมติว่าคุณมี8การ์ดแยกออกเป็นกองของและกอง5 เราเขียนขนาดเสาเข็มในลำดับถัดลงมา:3 5 3นี่คือหลักฐานของเกม: 5 3 4 2 2 3 3 1 1 4 2 2 แรกที่คุณเอาบัตรออกจากกันของทั้งสองกองทิ้งกอง4และ2และกองที่สร้างขึ้นใหม่ของการให้2 4 2 2ในขั้นตอนต่อไปลดลงเหล่านี้ไปตามด้วยกองใหม่3 1 1 3ในที่สุดขั้นตอนสุดท้ายจะทำให้กองขนาดใหญ่หมด1และผลิตผล4 2 2ซึ่งปรากฏขึ้นแล้วเราจึงหยุด โปรดทราบว่าผลรวมของขนาดเสาเข็มยังคงเหมือนเดิม เป้าหมายของคุณคือพิมพ์ทรานสคริปต์ของเกมจากการกำหนดค่าเริ่มต้นที่กำหนด นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ อินพุต รายการของจำนวนบวกในลำดับจากมากไปน้อยแสดงถึงขนาดเสาเข็มเริ่มต้น รับอินพุตผ่าน STDIN หรือฟังก์ชั่นอินพุต คุณสามารถใช้โครงสร้างรายการที่คุณต้องการ คุณไม่ได้รับจำนวนบัตรทั้งหมดNเป็นอินพุต เอาท์พุต พิมพ์ลำดับของขนาดของกองเกมบัลแกเรียโซลิแทร์ โปรดทราบว่าจำเป็นต้องมีการพิมพ์ไม่ใช่ส่งคืน แต่ละขั้นตอนควรเป็นของตัวเอง แต่ละบรรทัดควรจะมีลำดับของตัวเลขในเชิงบวกในลำดับถัดลงมาที่ไม่มี0's คุณอาจมีตัวคั่นและโทเค็นเริ่มต้นและจุดสิ้นสุด (ตัวอย่างเช่น[3, 3, 1, 1]) …
9 code-golf  game 

4
เส้นทางเดินป่า
หลังจากขี่เรือแคนูที่ร้ายกาจของคุณแล้วคุณก็ตกลงไปที่น้ำตกที่ปลายน้ำเชี่ยว เรือแคนูของคุณระเบิด แต่คุณรอดชีวิตจากการระเบิด อย่างไรก็ตามการเดินทางทางแม่น้ำของคุณก็หมดไปจากแผนที่ตอนนี้คุณพบว่าตัวเองหลงทางในป่า โชคดีที่คุณยังมีทักษะการเขียนโปรแกรมดังนั้นคุณตัดสินใจที่จะแกะสลักโปรแกรมไว้ที่ด้านข้างของต้นไม้เพื่อช่วยคุณค้นหาเส้นทางผ่านป่า อย่างไรก็ตามมีพื้นที่ผิวบนต้นไม้ไม่มากดังนั้นคุณต้องทำให้โปรแกรมของคุณสั้นที่สุด ฟอเรสต์สามารถอธิบายได้ว่าเป็นตัวอักษรnโดยn( n > 5) ของอักขระซึ่งจะประกอบด้วยตัวอักษรตัวพิมพ์เล็กa-zเท่านั้น ป่าตัวอย่าง: anehcienwlndm baneiryeivown bnabncmxlriru anhahirrnrauc riwuafuvocvnc riwnbaueibnxz hyirorairener ruwiiwuauawoe qnnvcizdaiehr iefyioeorauvi quoeuroenraib cuivoaisdfuae efoiebnxmcsua คุณอาจสังเกตเห็นว่าในป่านี้มีเส้นทแยงมุมของaตัวละครที่วิ่งผ่านจากมุมบนซ้ายไปยังมุมขวาล่าง นี่คือ "เส้นทาง" ผ่านป่าซึ่งจะพาคุณไปที่ไหนสักแห่งถ้าคุณทำตาม งานของคุณคือการเขียนโปรแกรมที่จะหาเส้นทางเอกพจน์ ตอนนี้ฉันจะอธิบายสิ่งที่สื่อความหมายถึง "เส้นทาง" ในความท้าทายนี้โดยเฉพาะ "เส้นทาง" ในการท้าทายนี้ถูกกำหนดให้เป็นเส้นที่คล้ายกับเส้นทางซึ่งอาจถูกสร้างขึ้นด้วยอัลกอริทึม Bresenhamแต่ด้วยข้อกำหนดเพิ่มเติมที่: บรรทัดต้องมีความยาวอย่างน้อย 6 อักขระ แต่ละ collinear (ติดกันอย่างสมบูรณ์) กลุ่มของอักขระในบรรทัดจะต้องมีความยาวเท่ากัน มันจะเริ่มที่ขอบหนึ่งของป่าและจบที่ขอบตรงข้าม (ดูความคิดเห็นของฉันที่นี่เพื่อทำอย่างละเอียด) หากต้องการอธิบายข้อกำหนดที่สองให้ชัดเจนยิ่งขึ้นให้พิจารณาบรรทัดต่อไปนี้: aaa aaa aaa aaa …

6
สคริปต์สั้นที่สุดที่ให้เวลาผ่านไปนับตั้งแต่การประทับเวลา Unix
สิ่งที่คุณต้องทำเพื่อให้ได้รับความท้าทายนี้คือการเขียนสคริปต์ "timeago" ที่สั้นที่สุดที่แสดงจำนวนทศวรรษปีสัปดาห์สัปดาห์วันชั่วโมงนาทีและวินาทีระหว่างเวลาประทับ Unix ที่กำหนดและเวลาที่สคริปต์ทำงาน คุณจะต้องให้แตกต่างของเวลาใน "ข้อตกลงต่ำสุด" เช่น1 weekไม่ได้7 days, ไม่ได้9 years 0 decades 9 yearsนอกจากนี้คุณยังจะต้องใช้รูปพหูพจน์ได้อย่างถูกต้องเช่นไม่ได้1 day1 days สคริปต์ของคุณจะต้องถูกต้องภายในบวกหรือลบ 1 วินาที (ดังนั้นวิธีการปัดเศษที่สองนั้นไม่สำคัญ) Time Equivalency Table 1 decade = 10 years 1 year = 31536000 seconds (not technically correct but close enough) 1 week = 7 days 1 day = 24 …
9 code-golf  date 

3
ASCII Art Code Generator
ฉันมีโปรแกรมที่สร้างรหัส Brainfuck ในรูปแบบ ฉันรันโปรแกรม ./example "S" และผลลัพธ์คือ +[>+ < +++ ] >--. ซึ่งพิมพ์ S ใน Brainfuck วัตถุประสงค์ของคุณคือการเขียนโปรแกรมที่ยอมรับสตริงเป็นอินพุตและเอาต์พุตซอร์สโค้ดในภาษาอื่นซึ่งพิมพ์สตริงนั้น ซอร์สโค้ดโปรแกรมของคุณจะต้องจัดรูปแบบในลักษณะที่แสดงถึงสตริงในรูปแบบ ASCII (พิมพ์ในแนวนอนไม่ใช่แนวตั้ง) ซอร์สโค้ดไม่สามารถมีสตริงได้ (อย่างไรก็ตามอาจมีตัวอักษรที่เกิดขึ้นในสตริง แต่ไม่เรียงตามลำดับ) มิฉะนั้น, ช่องโหว่มาตรฐานใช้ รหัสที่สั้นที่สุดชนะ โปรดตั้งชื่อการส่งของคุณด้วยภาษาที่เขียนขึ้นภาษาที่ใช้แสดงผลและขนาดทั้งหมดเป็นไบต์ โปรดรวมเอาท์พุทของโปรแกรมของคุณเมื่อคุณป้อนสตริง UNCOPYRIGHTABLE ขอบคุณ!

3
ตรวจสอบโซลูชั่น Loopy
นี้เป็นความท้าทายเพิ่มเติมเพื่อสร้าง Loopy ปริศนาท้าทาย คุณอาจต้องการแก้ปัญหานี้ก่อนที่จะลองความท้าทายที่ยากขึ้นในลิงค์ก่อนหน้า เป้าหมายของการท้าทายนี้คือการตรวจสอบการแก้ปัญหากับตัวต่อแบบวนรอบ โปรดรับเอกสารทั้งหมดเกี่ยวกับตัวต่อวงแหวนจากลิงก์ก่อนหน้า ปริศนาแบบวนรอบที่แก้ไขแล้วนั้นได้รับการจัดรูปแบบในลักษณะที่คล้ายกันมากกับผลลัพธ์ของการส่งที่ถูกต้องกับความท้าทาย“ สร้างปริศนาวนรอบ” และอาจมีลักษณะเช่นนี้: +-+-+ +-+ +-+ + | | | |2|3| +-+ + + + + +-+ 2| | | |2| 3| + + +-+ + + +-+ 2| 2 1|3| | +-+ +-+ +-+ +-+ |2 | | 1 2| + +-+ +-+ …
9 code-golf 

3
นับแท่ง; นับไม้เท้าของคุณ
พื้นหลังบางส่วน แท่งนับเป็นแท่งขนาดเล็ก (ยาว 3-14 ซม.) ที่นักคณิตศาสตร์ใช้ในวัฒนธรรมเอเชียมานานกว่า 2000 ปีเพื่อใช้แทนจำนวนหรือเศษส่วนทั้งหมด (ใน chqllenge นี้เราจะมุ่งเน้นไปที่จำนวนเต็มไม่ได้ลงนาม) นอกจากนี้ยังมีรุ่นที่เป็นลายลักษณ์อักษรที่เรียกว่าเลขก้าน นี่คือวิธีการทำงาน: (ถ้า ณ จุดใดก็ตามที่คุณสับสนให้ไปที่ตัวแทน ASCII ของแต่ละหลักและตัวอย่างบางส่วนที่ฉันได้รวมไว้ที่ด้านล่าง) เลข Rod เป็นระบบตัวเลขตำแหน่งจริงโดยมีตัวเลขสำหรับ 1-9 และว่างเปล่าสำหรับ 0 ตัวเลขประกอบด้วยเส้นแนวนอนและแนวตั้ง ยิ่งบรรทัดมีจำนวนมากเท่าใด เมื่อคุณได้รับห้าที่ผ่านมาคุณวางเส้นแนวนอนด้านบนเพื่อเพิ่ม 5 ถึงจำนวนบรรทัดด้านล่าง เส้นแนวตั้งหนึ่งเส้นคือ 1 เส้นแนวตั้งสองเส้น 2 เส้นแนวตั้งห้าเส้นคือ 5 เส้นแนวตั้งหนึ่งเส้นที่มีเส้นแนวนอนด้านบนคือ 6 เส้นแนวตั้งสี่เส้นที่มีเส้นแนวนอนด้านบนคือ 9 (ตัวเลขสูงสุด) แนวตั้ง 3 หลัก: ||| ||| ||| ||| ||| เพื่อให้การอ่านเลขแท่งง่ายขึ้นพวกเขาใช้เครื่องหมายที่แตกต่างกันสำหรับแต่ละหลักที่สลับกัน สัญกรณ์ที่สองสลับบทบาทของเส้นแนวนอนและแนวตั้ง …

4
การปรับแต่งสตริง
งาน เขียนโปรแกรมเพื่อตรวจสอบบันทึกที่ฟังพร้อมกับจำนวนเซ็นต์ที่ไม่ถูกต้องของสตริงที่ปรับให้เป็นความถี่ที่กำหนดและกดลงที่จุดที่กำหนด เพื่อประโยชน์ของความเรียบง่ายสมมติว่าความถี่ของเสียงที่ผลิตและความยาวของสายไปทางขวาของที่มันถูกกดเป็นสัดส่วนผกผัน หมายเหตุ: งานนี้เกี่ยวข้องเฉพาะกับน้ำเสียงพื้นฐานเท่านั้นและไม่ใช่ด้วยเสียงหวือหวา / เสียงประสานอื่น ๆ อินพุต โปรแกรมของคุณได้รับข้อมูลสองส่วน: สตริงที่มีความยาวไม่แน่นอนซึ่งแสดงถึงสตริงที่เป็นปัญหา สายนี้จะถูกทำเครื่องหมายด้วย X ที่สตริงจะถูกค้างไว้ [-----] is a string divided in six sections (five divisions). [--X--] is a string pressed at the exact center of the string. [X----] is a string pressed at 1/6 the length of the string. (Length used …

3
คำนวณจำนวนลูกบาศก์ที่สามารถตัดได้หนึ่งลูกบาศก์
ลองนึกภาพก้อนที่เราสามารถตัดเป็นก้อนเล็กโดยไม่เหลือชิ้น ค้นหาจำนวนคิวบ์ที่สามารถตัดได้หนึ่งลูกบาศก์ ตัวอย่างเช่นลูกบาศก์สามารถตัดเป็น 8, 27 (พลังที่ 3 อย่างชัดเจนของจำนวนเต็ม) และ 20 (19 ก้อนเล็กบวกหนึ่งแปดเท่าของขนาดอื่นดูภาพ) ดูความช่วยเหลือบางส่วนได้ที่นี่: http://mathworld.wolfram.com/CubeDissection.html โปรแกรมควรใช้เป็นจำนวนเต็มเข้าn( 0 <= n <= 1 000) และพิมพ์ตัวเลขทั้งหมดน้อยกว่าหรือเท่ากับเพื่อnให้สามารถตัดคิวบ์ลงในจำนวนคิวบ์นั้น สมมติว่าลูกบาศก์นั้นสามารถตัดเป็น 1 ลูกบาศก์และไม่สามารถกลายเป็น 0 ลูกบาศก์ได้ คุณสามารถใช้ประเภทข้อมูลที่ครบถ้วนเท่านั้น (ไม่มีอาร์เรย์, วัตถุอื่น ๆ ) ที่มีขนาดไม่เกิน 64 บิต รหัสที่สั้นที่สุดชนะ

6
การเปลี่ยนหมายเลข
ความท้าทาย สำหรับชุดจำนวนเต็ม n จำนวนที่กำหนดให้เขียนโปรแกรมที่จะส่งออกดัชนี lexicographic กฎระเบียบ อินพุตจะต้องเป็นชุดของจำนวนเต็มที่ไม่เป็นลบเท่านั้นคั่นด้วยช่องว่าง คุณควรส่งออกดัชนี lexicographic (ช่วง 0 ถึง n! -1 รวม) ของการเปลี่ยนแปลง ไม่สามารถใช้ไลบรารีการเปลี่ยนแปลงหรือการแปลงร่างภายในได้ คุณไม่สามารถสร้างชุดการเรียงสับเปลี่ยนหรือชุดย่อยของการเรียงสับเปลี่ยนของอินพุตเพื่อช่วยคุณค้นหาดัชนี นอกจากนี้คุณยังไม่สามารถเพิ่มหรือลดการเปลี่ยนแปลงที่ให้กับการเปลี่ยนลำดับถัดไป / ก่อนหน้า (การทำพจนานุกรม) คะแนนโบนัส (-10 ไบต์) หากคุณพบวิธีที่จะทำให้เสร็จโดยไม่ต้องใช้แฟกทอเรียล รันไทม์ควรน้อยกว่า 1 นาทีสำหรับ n = 100 รหัสที่สั้นที่สุดนับเป็นไบต์ชนะ ผู้ชนะที่ได้รับเลือกวันอังคาร (22 กรกฎาคม 2014) เพิ่มเติมเกี่ยวกับการเรียงสับเปลี่ยน http://www.monkeyphysics.com/articles/read/26/numbering_permutations.html การดำเนินการกลุ่มการเปลี่ยนแปลง http://lin-ear-th-inking.blogspot.com/2012/11/enumerating-permutations-using.html ตัวอย่าง 0 1 2 --> 0 0 2 1 …

6
ค้นหาโหนดที่ลึกที่สุดของต้นไม้ไบนารี
เขียนโปรแกรมที่รับต้นไม้ไบนารีเป็นอินพุทและเอาท์พุทโหนดที่ลึกที่สุดและความลึกของมัน หากมีเน็คไทให้พิมพ์ปมที่เกี่ยวข้องทั้งหมดรวมถึงความลึก แต่ละโหนดจะแสดงเป็น: T(x,x) T(x) T โดยที่Tเป็นตัวระบุของตัวอักษรและตัวเลขอย่างน้อยหนึ่งตัวและแต่ละตัวxเป็นโหนดอื่น นี่คือคำจำกัดความง่ายๆของต้นไม้ไบนารี: ที่หัวของต้นไม้ไบนารีเป็นโหนด โหนดในต้นไม้ไบนารีมีลูกสองคนมากที่สุด ยกตัวอย่างเช่นการป้อนข้อมูลA(B(C,D(E)))(ด้านล่าง) 3:Eจะเอาท์พุท ในขณะที่ต้นไม้ต่อไปนี้มีการผูกสามทางระหว่าง 5, 11, และ 4 และความลึกของมันคือ 3 (เริ่มจาก 0): การป้อนข้อมูล2(7(2,6(5,11)),5(9(4)))(ด้านล่าง) 3:5,11,4จะเอาท์พุท นี่คือรหัสกอล์ฟดังนั้นโค้ดที่สั้นที่สุดที่วัดเป็นไบต์จะชนะ

4
ค้นหาเวลา“ น่าสนใจ” ต่อไป
ฉันบังเอิญมองดูนาฬิกาวันนี้เวลา 11:11:11 (และวันนี้คือ 1/11; แย่มากที่ไม่ใช่ 2011) และนั่นทำให้ฉันคิดว่า: ฉันรู้! ฉันควรถามคำถามเกี่ยวกับกอล์ฟจากนี้! ฉันเป็นคนโง่ อย่างไรก็ตามความท้าทายของคุณคือใช้เวลาหนึ่งชั่วโมงนาทีและวินาทีเป็นอินพุตและส่งออกในเวลา "น่าสนใจ" ถัดไป ที่นี่ฉันจะกำหนดสิ่งที่น่าสนใจตามขั้นตอนเหล่านี้: ต่อชั่วโมงนาทีและวินาทีเข้าด้วยกัน (ตัวอย่างเช่นที่ 4:14:14 นี่จะเป็น 41414) ตรวจสอบกลุ่มติดต่อกันหนึ่ง, สองหรือสามที่ขยายความยาวของสตริงทั้งหมด ตัวอย่างเช่นฉันสามารถค้นหาได้[41][41][4]ในเวลาตัวอย่าง (หากกลุ่มไม่สามารถเข้าถึงผ่านสตริงได้ให้ตัดออกเหมือนที่ฉันทำในตัวอย่างนี้) อีกตัวอย่างหนึ่ง: เวลาในตัวอย่างแรกของฉันที่จุดเริ่มต้นของคำถามที่ว่ามันจะเป็น[1][1][1][1][1][1], หรือ[11][11][11][111][111] มีกลุ่มที่ต่อเนื่องกันตลอดเส้นทาง? ถ้าเป็นเช่นนั้นเวลาน่าสนใจ! มิฉะนั้นจะไม่ อินพุตสามารถอยู่ในรูปแบบที่สมเหตุสมผลแต่ต้องไม่ฮาร์ดโค้ด เอาต์พุตยังสามารถอยู่ในรูปแบบที่สมเหตุสมผลและไม่จำเป็นต้องอยู่ในรูปแบบเดียวกับอินพุต หากคุณใช้การเข้าถึงเครือข่ายด้วยเหตุผลบางอย่างไบต์ทั้งหมดที่ดาวน์โหลดจากเครือข่ายจะนับเป็นคะแนนของคุณ นี่คือ รหัสกอล์ฟ; รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
9 code-golf  date 

24
สร้างตารางกลุ่มสำหรับ Z_n
กลุ่มเป็นโครงสร้างที่ใช้กันอย่างแพร่หลายในวิชาคณิตศาสตร์และมีการใช้งานในวิทยาการคอมพิวเตอร์ ความท้าทายรหัสนี้เป็นเรื่องเกี่ยวกับ # น้อยที่สุดของตัวละครเพื่อสร้างตารางกลุ่มสำหรับกลุ่มสารเติมแต่ง Z n วิธีสร้างตาราง: สำหรับ Z nองค์ประกอบคือ {0, 1, 2, ... , n-1} ตารางจะมี n แถวและคอลัมน์ n สำหรับรายการ ij-th ของตารางค่าคือ i + j mod n ตัวอย่างเช่นใน Z 3รายการ 1-2 (แถวที่ 2 คอลัมน์ที่ 3 หากคุณนับแถว / คอลัมน์เริ่มต้นเป็น 1) คือ (1 + 2)% 3 = 0 (ดูตัวอย่างผลลัพธ์) อินพุต:จำนวนเต็มบวก, n …

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