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

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

1
ค้นหาชุดดังต่อไปนี้
ความท้าทายด้านล่างกำหนดให้คุณต้องคุ้นเคยกับทฤษฎี parser อย่างเป็นทางการหากคุณไม่ทราบว่าคำถามนี้ถามอะไรเพราะคุณไม่รู้ว่าคำศัพท์หมายถึงไวยากรณ์และบริบทชุดแรก / ชุดติดตามตามที่ครอบคลุมในหลักสูตรมหาวิทยาลัยจำนวนมาก ฉันสามารถแนะนำหลักสูตรสแตนฟอร์ดนี้โดยเฉพาะเอกสารประกอบคำบรรยาย 08 และ 09 (จากหน้า 7) ฉันได้แยกไฟล์โกงออกมาจากเอกสารประกอบคำบรรยายเหล่านี้แล้ว - ฉันแนะนำให้ทุกคนที่พยายามอ่านข้อท้าทายนี้ผมขอแนะนำให้ทุกคนพยายามที่ท้าทายนี้จะอ่านมัน เขียนโปรแกรมหรือฟังก์ชั่นที่ให้ไวยากรณ์ที่ไม่มีบริบทพบชุดต่อไปนี้ของ nonterminal ทุกชุด อย่างไม่เป็นทางการชุดติดตามที่ไม่ใช่เทอร์มินัลคือชุดของเทอร์มินัลและ$(หมายถึงจุดสิ้นสุดของอินพุต) ที่คุณสามารถค้นหาเทอร์มินัลนั้นในประโยคที่ถูกต้อง อินพุตถูกกำหนดเป็นสตริง ASCII เดียวที่พิมพ์ได้หรืออาร์เรย์ของบรรทัด ASCII ที่พิมพ์ได้ คุณสามารถส่งออกชุดในรูปแบบที่เหมาะสมโดยใช้$(ไม่ว่าจะเป็นตัวอักษรออกหรือสตริงภายในชุด ฯลฯ ) เพื่อระบุจุดสิ้นสุดของการป้อนข้อมูล คุณอาจจะสมมติว่าอินพุตนั้นใช้ได้เสมอตามรูปแบบด้านล่าง บริบทของไวยากรณ์ฟรีถูกกำหนดในลักษณะที่ง่ายมาก ทุกบรรทัดมีการผลิตรายการเดียว ทุกการผลิตคือรายการสัญลักษณ์คั่นด้วยช่องว่าง เทอร์มินัลคือสตริงของอักขระที่ล้อมรอบด้วยอะโพสโทรฟี (เช่น'**' ) เพื่อความง่ายคุณอาจสมมติว่าเทอร์มินัลไม่มีช่องว่าง แต่มันจะดีถ้าโปรแกรมของคุณอนุญาต nonterminal อาจจะเป็นสตริงใด ๆ $ที่ไม่มีช่องว่างหรือ การผลิตที่ว่างเปล่า (ปกติระบุด้วยε) เป็นเพียงบรรทัดที่มีเฉพาะที่ไม่ใช่ด้านซ้ายมือ บรรทัดแรกคือการผลิตที่กำหนดสัญลักษณ์เริ่มต้น เป็นตัวอย่างไวยากรณ์ต่อไปนี้: S → aSa | …

3
ตัวเลขของเบคอน: คำนำเกี่ยวกับซูรินาเม
ลูกหมูตัวเล็กนี้ออกสู่ตลาดลูกหมูตัวเล็กนี้เขียนโค้ดบางส่วน ... เดี๋ยวก่อนเราไม่ได้พูดถึงเบคอนนั่นเรากำลังพูดถึงเซอร์ฟรานซิสเบคอน! โดยเฉพาะรหัสตัวเลขเบคอนได้คิดค้นขึ้นในปลายปี 1500เพื่อเป็นวิธีการซ่อนข้อความภายในข้อความอื่นซึ่งเป็นวิธีการของซูรินาเม รหัสลับทำงานโดยการซ่อนข้อความในการนำเสนอข้อความแทนที่จะเป็นเนื้อหา ขั้นแรกตัวอักษรของข้อความของคุณจะถูกเข้ารหัสเป็นไบนารี่ (จาก 0 ถึง 25) ดังนี้: หมายเหตุ: โปรดใช้การเข้ารหัสต่อไปนี้ในรหัสของคุณและไม่ต้องกังวลเกี่ยวกับตัวเลขช่องว่างหรือสัญลักษณ์อื่น ๆ ในอินพุตแม้ว่าฉันอาจจะคิดโบนัสบางอย่างสำหรับผู้ที่รวมอักขระเหล่านี้ไว้ในการเข้ารหัส หากคุณรวมสัญลักษณ์อื่น ๆ ตัวอักษรจะต้องคงช่องว่าง 0-25 ในการเข้ารหัส Letter Encoding A AAAAA B AAAAB C AAABA D AAABB E AABAA F AABAB G AABBA H AABBB I ABAAA J ABAAB K ABABA L ABABB M ABBAA N …

8
ความท้าทายของ D&D Skill
ในDungeons & Dragonsเกือบทุกอย่างจะถูกตัดสินใจโดยการหมุนตัวตาย โดยทั่วไปแล้วถ้าการหมุนมากกว่าหรือเท่ากับค่าที่ระบุความพยายามในการทำสิ่งที่คุณต้องการจะทำสำเร็จและล้มเหลวเป็นอย่างอื่น โดยทั่วไปจะใช้แม่พิมพ์แบบ 20 ด้าน (aka d20) ในการหมุน ในบางครั้งระบบจะใช้ความท้าทายทักษะ มันคล้ายกับระบบง่าย ๆ ที่อธิบายข้างต้น แต่ความสำเร็จนั้นพิจารณาจากการที่ผู้เล่นแต่ละคนประสบความสำเร็จในแต่ละครั้งก่อนที่จะล้มเหลวในจำนวนครั้งที่แน่นอน ตัวอย่างเช่นผู้เล่นอาจพยายามเลือกการล็อคหลายครั้งที่ประตูที่มีการล็อคจำนวน จำกัด แต่ละม้วนที่ประสบความสำเร็จเป็นตัวแทนของการเลือกหนึ่งในล็อคที่ประสบความสำเร็จและแต่ละม้วนที่ล้มเหลวแสดงถึงการทำลาย lockpick ความสำเร็จโดยรวมหมายถึงการเลือกล็อคทั้งหมดให้สำเร็จก่อนที่จะทำลายลูกกุญแจทั้งหมด นอกจากนี้ม้วนบางอย่างอาจเป็นม้วนที่สำคัญ ใน d20 การกลิ้ง a 1 เป็นความล้มเหลวที่สำคัญส่งผลให้เกิดความล้มเหลวในการท้าทายทั้งหมด (ในตัวอย่างด้านบนผู้เล่นอาจแจ้งเตือนยามโดยไม่ได้ตั้งใจ) การกลิ้งที่ 20 เป็นความสำเร็จที่สำคัญส่งผลให้ประสบความสำเร็จในความท้าทายทั้งหมดทันที (ในตัวอย่างข้างต้นผู้เล่นอาจพบกุญแจชุดหนึ่งสำหรับล็อคซึ่งไม่จำเป็นต้องเลือกพวกเขา) ในกรณีที่มีการวิพากษ์วิจารณ์ความท้าทายจะจบลงทันทีและตัดสินผลโดยไม่คำนึงถึงจำนวนความสำเร็จและความล้มเหลวก่อนหน้านี้ ในการท้าทายนี้คุณจะได้รับความยากลำบากจำนวนความสำเร็จที่ต้องการและจำนวนความล้มเหลวที่ความท้าทายนั้นล้มเหลว คุณต้องจำลองผู้เล่นที่พยายามท้าทายและให้ผลลัพธ์ออกมา อินพุต จำนวนเต็ม 3 จำนวนแสดงถึงค่าที่จะต้องพบหรือเกินกว่าที่จะประสบความสำเร็จในแต่ละม้วนจำนวนของความสำเร็จที่จำเป็นในการประสบความสำเร็จในการท้าทายและจำนวนของความล้มเหลวที่ความท้าทายล้มเหลว ลำดับและรูปแบบของอินพุตนั้นไม่สำคัญตราบใดที่คุณระบุลำดับที่คุณจะใช้ ความยากลำบากจะอยู่ระหว่าง 1 ถึง 20 โดยรวมและจำนวนความสำเร็จและความล้มเหลวจะอยู่ระหว่าง 1 ถึง 100 เอาท์พุต ผลลัพธ์ของแต่ละม้วน …
14 code-golf  game  random 

5
คุณสมบัติของฟังก์ชั่นไบนารี
หัวข้อที่สำคัญมากมายในพีชคณิตนามธรรมเกี่ยวข้องกับฟังก์ชั่นไบนารีที่ทำหน้าที่ในชุด จำนวนคุณสมบัติของฟังก์ชั่นดังกล่าวได้ถูกกำหนดไว้ในการตรวจสอบหัวข้อดังกล่าว ความท้าทายของคุณคือการพิจารณาว่าฟังก์ชั่นไบนารีที่กำหนดในโดเมนที่กำหนดมีคุณสมบัติห้าประการเหล่านี้หรือไม่ คุณสมบัติ การปิด ฟังก์ชั่นไบนารีปิดถ้าทุกผลลัพธ์ที่เป็นไปได้อยู่ในโดเมน การเชื่อมโยงกัน ฟังก์ชั่นไบนารีคือการเชื่อมโยงถ้าลำดับที่ฟังก์ชั่นที่ใช้กับชุดของอินพุตไม่ส่งผลกระทบต่อผล นั่นคือ$เป็นแบบเชื่อมโยงถ้าเสมอเท่ากับ(a $ b) $ c a $ (b $ c)โปรดทราบว่าเนื่องจากใช้ค่า(a $ b)เป็นอินพุตฟังก์ชันการเชื่อมโยงต้องถูกปิด commutativity ฟังก์ชั่นไบนารีคือสับเปลี่ยนหากการเปลี่ยนลำดับของอินพุตไม่เปลี่ยนผลลัพธ์ ในคำอื่น ๆ ถ้าเสมอเท่ากับa $ bb $ a เอกลักษณ์ ฟังก์ชั่นไบนารีมีองค์ประกอบตัวตนหากมีองค์ประกอบบางอย่างeในโดเมนเช่นนั้นa $ e = a = e $ aสำหรับทุกคนaในโดเมน idempotence ฟังก์ชั่นไบนารีคือ idempotent ถ้าใช้กับสองอินพุตเหมือนกันให้หมายเลขนั้นเป็นเอาท์พุท ในคำอื่น ๆ ถ้าa $ a = aสำหรับทั้งหมดaในโดเมน …

5
ฉันต้องรวมสี่เหลี่ยมจัตุรัสลูกบาศก์กำลังสี่และอื่น ๆ จำนวนเท่าใด
คุณจะได้รับติดลบและจำนวนเต็มn p >= 2คุณจำเป็นต้องเพิ่มบางpอำนาจ -th ( p=2สี่เหลี่ยมหมายถึงp=3หมายถึงก้อน) nพร้อมที่จะได้รับ สิ่งนี้เป็นสิ่งที่ไม่จำเป็นเสมอไปnแต่คุณไม่ทราบว่ามีpพลังที่มากมาย(ของจำนวนเต็มบวกใด ๆ) ที่คุณต้องการ นี่คืองานของคุณ: พบจำนวนขั้นต่ำของpอำนาจ -th nที่สามารถสรุปผลการ ตัวอย่าง >>> min_powers(7, 2) 4 # you need at least four squares to add to 7 # Example: (2)^2 + (1)^2 + (1)^2 + (1)^2 = 4 + 1 + 1 + 1 = 7 …

11
เกมของ Sevens! ใครพูดอะไร
เกม Sevens เล่นดังนี้: nผู้เล่นนั่งเป็นวงกลมและเริ่มนับจาก 1 ผ่านไปทางซ้าย (หรือจากผู้เล่นAไปยังผู้เล่นB) เมื่อถึงตัวเลขpที่7อยู่ในนั้นหรือหารด้วย7แล้วผู้เล่นที่พูดหมายเลขp-1หลังจากผู้เล่นคนถัดไปพูดpต้องพูดp+1และลำดับของผู้ที่พูดตรงกันข้าม ตัวอย่างเช่นถ้าผู้เล่นBพูด6เล่นCพูดว่า7, Bกล่าวว่า8, และเครื่องเล่นกล่าวว่าA9 หมายเหตุ:สำหรับผู้ที่ต้องการเล่นในชีวิตจริงหากคนลืมตัวเลข (หรือในรุ่นที่sevensไม่ได้พูดว่าตั้งใจseven), พวกเขาจะถูกตัดออกจากวงกลม แต่เราจะละเว้นรายละเอียดนี้จากความท้าทายนี้ ความท้าทายคือการพิมพ์ตัวเลขที่ผู้เล่นแต่ละคนควรพูดในเกมที่สมบูรณ์แบบของ Sevens จนถึงอินพุตmสำหรับnผู้เล่นอินพุท เป็นตัวอย่างที่ห้าคนA, B, C, Dและมีการเล่นจนกว่าพวกเขาจะมาถึงE 30พวกเขาเล่นในลักษณะนี้ A: 1 6 8 13 15 19 23 30 B: 2 7* 12 16 18 24 C: 3 11 17* 25 D: 4 10 21* 26 28* …

4
ตีความ StackyMath!
ถึงเวลาที่คุณจะใช้ภาษาสแต็กใหม่ของฉัน! มันเรียกว่า StackyMath นี่จะเป็นภาษาแบบสแต็กที่มีการดำเนินการ 8 รายการบนสแต็กและวิธีเพิ่มหมายเลขในสแต็ก รายการของการดำเนินงาน: /: แผนก. ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก *: การคูณ ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก -: การลบ ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก +: ส่วนที่เพิ่มเข้าไป. ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก ^: การยกกำลัง ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก %: Modulo ดำเนินการกับตัวเลข 2 อันดับแรกของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก !: แฟคทอเรียล ดำเนินการกับหมายเลขบนสุดของสแต็ก ผลักผลลัพธ์กลับคืนบนสแต็ก D: ทำซ้ำหมายเลขบนสุดของสแต็ก การดำเนินการที่กำหนดไว้ในรหัสหลอก: …

1
ลูกศรเขาวงกตหลบหนี
คำถาม คุณมีชุดอักขระ 50 ถึง 50 ตัว แต่ละเซลล์มีลูกศรชี้ในทิศทางใดทิศทางหนึ่ง ไม่มีเซลล์ว่างเปล่า เมื่อเข้าสู่เซลล์คุณต้องออกจากเซลล์ในทิศทางที่ระบุโดยลูกศร ลูกศรอาจชี้ไปในทิศทางเดียวกันกับที่คุณมาด้วยทำให้เกิดจุดจบ คุณอาจเริ่มต้นจากเซลล์ใด ๆ บนขอบนอกสุดของเขาวงกตและค้นหาเส้นทางที่นำคุณไปสู่เขาวงกตและทำให้คุณออกจากเซลล์อื่น อินพุตจะได้รับเป็นอาร์เรย์ที่มี <,>, ^ และ v. เอาต์พุตจะเป็นตัวเลขหลักเดียว (บูลีน, จำนวนเต็มหรือตัวอักษร, สิ่งใดจะทำ) เป็น 0 (บ่งบอกว่างานเป็นไปไม่ได้) หรือ 1 (บ่งบอกว่าคุณมี บรรลุภารกิจ) ตัวอย่าง (อาร์เรย์จริงจะใหญ่กว่านี้) ^ v < > > < v < v > v ^ ผลผลิตจะได้ 1 ในขณะที่คุณสามารถป้อนจาก <ทางด้านขวาซึ่งจะทำให้คุณออกจากด้านล่าง v โดยเส้นทาง "<v …
14 code-golf  maze 

12
และทุกคนพูดว่า ...
วัตถุประสงค์รับอินพุตของข้อความที่ไม่มีอักขระ[หรือ]ดำเนินการต่อไปนี้: สำหรับทุกอินสแตนซ์ที่Amenมีอักษรตัวใหญ่อย่างน้อยหนึ่งตัว (ดังนั้นอินสแตนซ์ทั้งหมดของการAmenยกเว้นamen) ให้แสดงผลลัพธ์ที่เหมือนกันAmen(รักษาการใช้อักษรตัวพิมพ์ใหญ่) สำหรับทุก ๆ อินสแตนซ์ของ/all the people said[?: ]/i(นั่นคือนิพจน์ปกติ) ก็เอาท์พุทAmen(กรณีใด ๆ ก็ได้) หลังจากเอาต์พุตทุกตัวคุณสามารถเลือกตัวคั่นค่าคงที่เช่นบรรทัดใหม่เว้นวรรคหรืออะไรก็ได้ นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง IOs Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah …

5
ข้ามตัวอักษร
ข้ามตัวอักษร ในการท้าทายนี้คุณมีปัญหาในการจดจำตัวอักษรของตัวอักษร ในการหลีกเลี่ยงสิ่งนี้คุณต้องขึ้นและลงอักษรจนกว่าจะถึงตัวอักษร เนื่องจากคุณต้องการให้รหัสของคุณเป็นแบบพกพาคุณจะเขียนด้วยตัวอักษรบล็อก คุณมีบล็อกจำนวน จำกัด เนื่องจากส่วนใหญ่ถูกขโมยดังนั้นคุณต้องแน่ใจว่ารหัสของคุณสั้นที่สุด ตัวอย่าง คู่อินพุต / เอาต์พุตถูกคั่นด้วยบรรทัดว่าง: Ac ABc Ad ABcd fA fedCBA adB abcdcB Hello, World! HGfefghijkllmno, WVUTSrqpopqrqponmlkjihgfed! ท้าทาย เป้าหมายของคุณคือการA-Za-zเชื่อมโยงตัวอักษรที่อยู่ติดกันด้วยตัวอักษรกลางทั้งหมดของตัวอักษร ( ) ระหว่างพวกเขา หากตัวพิมพ์ใหญ่แตกต่างกันการแปลงเป็นตัวพิมพ์ใหญ่ควรจะอยู่ตรงกลาง หากโครงสร้างเงินทุนไม่สามารถเปลี่ยนอย่างสม่ำเสมอในช่วงกลางก็เสียขึ้นหลังจากกลาง หากตัวละครไม่ใช่ตัวอักษรตัวอักษรไม่ควรทำการแปลงใด ๆ การชนะ นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์! โบนัส -10%:หากรหัสของคุณเชื่อมโยงหลัก
14 code-golf  string 

22
String Zip และเรียงลำดับ
กำหนดรายการของสตริงเอาท์พุทสตริงเดียวที่เกิดขึ้นโดยการใช้อักขระจากแต่ละสตริงที่แต่ละตำแหน่งเรียงลำดับตามลำดับ ASCII และต่อท้ายพวกเขาเพื่อสตริงออก กล่าวอีกนัยหนึ่งสำหรับnสตริงอินพุตอักขระnตัวแรกของเอาต์พุตจะเป็นอักขระตัวแรกของแต่ละอินพุตเรียงตามลำดับnตัวอักขระที่สองของเอาต์พุตจะเป็นอักขระตัวที่สองของอินพุตที่เรียงลำดับตามลำดับและดังนั้น บน. คุณอาจคิดว่าสตริงนั้นมีความยาวเท่ากันและจะมีสตริงอย่างน้อยหนึ่งสตริง สตริงทั้งหมดจะประกอบด้วยอักขระที่พิมพ์ได้ ASCII เท่านั้น (เลขที่ 32-127) การใช้งานอ้างอิงใน Python ( ลองออนไลน์ ): def stringshuffle(strings): res = '' for i in range(len(strings[0])): res += ''.join(sorted([s[i] for s in strings],key=ord)) return res ตัวอย่าง: "abc","cba" -> "acbbac" "HELLO","world","!!!!!" -> "!Hw!Eo!Lr!Ll!Od" กฎระเบียบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ ลีดเดอร์บอร์ด สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างกระดานแต้มนำจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นกระดานแต้มนำโดยรวม …
14 code-golf  string 

17
โค้ดกอล์ฟ: Forwards sdrawkcaB sdrawkcaB Forwards sdrawkcaB
งาน ผู้ใช้ป้อนประโยค - คำเท่านั้น การป้อนข้อมูลใด ๆ นอกเหนือจากตัวอักษรหรือช่องว่างรวมถึงจำนวนเต็มและเครื่องหมายวรรคตอนควรมีข้อยกเว้น: "ประโยคต้องใช้ตัวอักษรเท่านั้น" เอาต์พุตมีรูปแบบโดยที่บางคำกลับด้านและคำอื่น ๆ เป็นเรื่องปกติ รูปแบบเริ่มต้นเป็นคำปกติคำสองคำถัดไปจะกลับรายการจากนั้นคำสองคำถัดไปเป็นปกติและรูปแบบจะดำเนินต่อไป ตัวอย่างของคำที่ควรเป็นปกติและคำที่ตรงกันข้ามอยู่ด้านล่าง: ปกติ - กลับด้าน - ย้อนกลับ - ปกติ - ธรรมดา - กลับด้าน - ย้อนกลับ - ปกติ ... ตัวอย่างการป้อนข้อมูล เธอขายเปลือกหอยบนชายฝั่งทะเล ตัวอย่างผลลัพธ์ เธอ slles aeS shells บน eht aeS shore กฎเพิ่มเติม หากมีการใช้ตัวอักษรพิมพ์ใหญ่พวกเขาควรจะยังคงอยู่ในตัวอักษรที่พวกเขาโพสต์เดิม ช่องว่างหลาย ๆ อันที่ถูกโพสต์บนอินพุตควรถูกลดขนาดเป็นหนึ่งช่องว่าง ยกตัวอย่างเช่นProgramming Puzzles and Code Golfจะกลายเป็นProgramming …

25
จำนวนชิ้นบนกระดานหมากรุก
บทนำ กระดานหมากฮอสปกติประกอบด้วย 8 x 8 = 64 กำลังสอง: คุณจะเห็นว่าในทั้งหมดมี12 ชิ้นสีขาว ขาวดำมีจำนวนชิ้นเท่ากันเสมอ หากมีชิ้นส่วนใด ๆ บนกระดานชิ้นส่วนจะอยู่ใกล้เคียงซึ่งไม่ได้รับอนุญาตสำหรับความท้าทายนี้ เพื่อชี้แจงสิ่งต่าง ๆ ต่อไปนี้เป็นตัวอย่าง: บอร์ดที่เล็กที่สุดที่เป็นไปได้สำหรับความท้าทายนี้คือ3 x 3 : คุณจะเห็นว่าจำนวนเงินสูงสุดของชิ้นเท่ากับ2 ดังนั้นเมื่อได้รับN = 3คุณจะต้องเอาท์พุท2 หากอินพุตคือN = 4เราจะได้รับสิ่งต่อไปนี้: คุณจะเห็นว่าจำนวนเงินสูงสุดยังเป็น 2. ดังนั้นสำหรับN = 4ผลผลิตที่ควรจะเป็น2 สำหรับN = 5ผลลัพธ์ควรเท่ากับ5 : ตัวอย่าง STDIN: 3 STDOUT: 2 STDIN: 4 STDOUT: 2 STDIN: 5 STDOUT: 5 …

4
การนับกลุ่ม Abelian ในขนาดที่กำหนด
พื้นหลัง ครั้งที่แล้วเรานับกลุ่มของขนาดที่กำหนดซึ่งเป็นปัญหาที่ไม่สำคัญ เวลานี้เราจะนับเฉพาะกลุ่มชาว Abelianเช่นกลุ่มที่มีการดำเนินการสับเปลี่ยน อย่างเป็นทางการเป็นกลุ่ม(G, *)เป็นคริสต์ถ้าx * y ที่ y = x *สำหรับทุกx, yในG ปัญหานี้ง่ายขึ้นมากดังนั้นเราจะนับพวกมันอย่างมีประสิทธิภาพ งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับจำนวนเต็มไม่เป็นลบnเป็น input และพิมพ์หรือส่งกลับจำนวนของกลุ่มคริสต์ไม่ใช่ isomorphic ของการสั่งซื้อn วิธีหนึ่งในการคำนวณจำนวนกลุ่ม - ซึ่งเราจะแสดงโดยA (n) - คือการสังเกตสิ่งต่อไปนี้: A (0) = 0 ถ้าหน้าเป็นนายก(หน้าk )จะเท่ากับจำนวนของพาร์ทิชันจำนวนเต็มของk (cfr. OEIS A000041 ) ถ้าn = mkและมและkจะร่วมนายกA (n) = A (เมตร) A (k) คุณอาจจะใช้นี้หรือวิธีการอื่นใดในการคำนวณA (n) กรณีทดสอบ Input …

5
มันเป็น L-convex หรือไม่
พื้นหลัง polyominoเรียกว่าL-นูนถ้ามันเป็นไปได้ที่จะเดินทางจากกระเบื้องใด ๆ กับกระเบื้องอื่น ๆ โดยเส้นทางรูปตัว L ที่เป็นเส้นทางที่จะไปในทิศทางที่พระคาร์ดินัลและทิศทางการเปลี่ยนแปลงที่มากที่สุดครั้งหนึ่ง ตัวอย่างเช่นโพลีโนมีนของ1s ในรูป 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 ไม่ใช่ L-convex เนื่องจากเส้นทางรูปตัว L จากด้านล่างซ้าย1ไปด้านบนขวา1ประกอบด้วย0: 0>0>1>1>1 0 ^ ^ 1 1 1 1 0 0 ^ ^ 1>1>0>0>0 0 อย่างไรก็ตามโพลีโอมิโนของ1s ในรูปนี้คือ L-convex: …

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