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

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

9
การลบคริสตจักร
การลบคริสตจักร แลมบ์ดาแคลคูลัสเป็นที่สนใจของฉันมาโดยตลอดและพฤติกรรมฉุกเฉินของการส่งผ่านหน้าที่ต่าง ๆ เข้ามามีความซับซ้อนอย่างน่ายินดี เลขคริสตจักรเป็นตัวแทนของตัวเลขธรรมชาติที่สร้างขึ้นจากการใช้ฟังก์ชั่นซ้ำ ๆ (โดยปกติจะเป็นการเพิ่มค่าคงที่แบบเอกภาพ) ตัวอย่างเช่นจำนวนศูนย์ส่งคืน x และ "ละเว้น" ฟังก์ชันอินพุตหนึ่งคือf(x)สองคือf(f(x))และต่อไปนี้: ident = lambda x: x zero = lambda f: ident succ = lambda n: lambda f: lambda x: f(n(f)(x)) one = succ(zero) add1 = lambda x: x + 1 to_int = lambda f: f(add1)(0) print(to_int(one)) >>> 1 จากนี้เราสามารถเห็นได้อย่างง่ายดายว่าการเติมนั้นทำได้โดยใช้ฟังก์ชันแรกกับ …

2
การนับโพลีโม่แบบทั่วไป
ความท้าทายนี้จะมีคุณนับหลอกpolyformsบนดูแคลนตารางการปูกระเบื้อง ฉันคิดว่าลำดับนี้ยังไม่มีอยู่ในOEISดังนั้นความท้าทายนี้จึงมีอยู่ในการคำนวณเงื่อนไขให้มากที่สุดเท่าที่จะเป็นไปได้สำหรับลำดับนี้ อัปเดต: ตอนนี้อยู่ใน OEIS ในฐานะA309159 : จำนวนโพลีฟอร์เรชั่นที่ทั่วไปบนการเรียงลำดับสนูบสี่เหลี่ยมที่มีเซลล์ n คำนิยาม การปูกระเบื้องสี่เหลี่ยมดูแคลนเป็นปูกระเบื้อง semiregular ของเครื่องบินที่ประกอบด้วยสามเหลี่ยมด้านเท่าและสี่เหลี่ยม หลอกรูปหลายเหลี่ยมบนปูกระเบื้องสี่เหลี่ยมดูแคลนเป็นรูปเครื่องบินที่สร้างขึ้นโดยการรวมกันสามเหลี่ยมและสี่เหลี่ยมเหล่านี้ตามด้านที่ใช้ร่วมกันของพวกเขาคล้ายกับโพลีโน นี่คือตัวอย่างของหกเซลล์และแปดเซลล์ pseudo-polyform: ตัวอย่าง สำหรับn = 1มี 1-cell pseudo-polyforms สองอัน ได้แก่ จตุรัสและสามเหลี่ยม: สำหรับn = 2มี 2-cell pseudo-polyforms สองอันคือสี่เหลี่ยมที่มีรูปสามเหลี่ยมและสองรูปสามเหลี่ยม สำหรับn = 3มี 3-cell pseudo-polyforms สี่ตัว ท้าทาย เป้าหมายของความท้าทายนี้คือการคำนวณเงื่อนไขให้มากที่สุดเท่าที่จะเป็นไปได้ในลำดับนี้ซึ่งเริ่มต้น2, 2, 4, ...และเมื่อคำที่ n-th คือจำนวนของ n-cell pseudo-polyforms มากถึงการหมุนและการสะท้อนกลับ เรียกใช้รหัสของคุณตราบเท่าที่คุณต้องการ ผู้ชนะของการท้าทายนี้จะเป็นผู้ใช้ที่โพสต์เงื่อนไขมากที่สุดของลำดับพร้อมกับรหัสของพวกเขา หากผู้ใช้สองคนโพสต์ข้อกำหนดจำนวนเท่ากันดังนั้นใครก็ตามที่โพสต์ข้อความล่าสุดของพวกเขาจะเป็นผู้ชนะ …

30
ตัดสินผู้ชนะเกมฟุตบอลออสเตรเลีย
ในฟุตบอลออสเตรเลียเป้าหมายมีค่า 6 คะแนนและหลังมีค่า 1 คะแนน คะแนนอาจรวมถึงจำนวนของเป้าหมายและด้านหลังเช่นเดียวกับคะแนนรวม กำหนดจำนวนประตูและด้านหลังสำหรับสองทีมที่แตกต่างกันกำหนดทีมที่ชนะในเกม ใช้จำนวนเต็มสี่จำนวนg1, b1, g2, b2เป็นอินพุตและเอาต์พุตสองค่าที่แตกต่างกันไม่ว่าทีมแรกหรือทีมที่สองจะเป็นผู้ชนะ รูปแบบอินพุตมีความยืดหยุ่น แต่ลำดับอินพุตต้องอนุญาตให้ชัดเจนว่าทีมใดเป็นอันดับแรก ตัวอย่างเช่นg1, g2, b1, b2จะได้รับอนุญาต แต่b1, g2, g1, b2จะไม่ กรณีทดสอบ กรณีทดสอบจะใช้trueสำหรับการชนะทีมแรกและfalseสำหรับการชนะทีมที่สอง (g1,b1),(g2,b2)การป้อนข้อมูลที่อยู่ในรูปแบบ (1,0),(0,1) true (2,0),(0,11) true (10,8),(11,1) true (0,0),(1,0) false (100,100),(117,0) false (7,7),(5,12) true (2,0),(0,13) false ตัวอย่างเช่นสำหรับอินพุต(10,8),(11,1)ทีม 1 ทำคะแนนได้ 10 เป้าหมายและ 8 หลังรวมเป็นคะแนนในขณะที่ทีม 2 ทำคะแนนคะแนนดังนั้นทีมที่ 1 ชนะ .10 …

28
โปรแกรมทุ่มตลาด hex สั้นที่สุด
ท้าทาย สร้างโปรแกรมคอนโซลเพื่อแสดงแต่ละไบต์ของไฟล์ การชนะ เนื่องจากนี่คือcode-golfจึงมีจำนวนไบต์น้อยที่สุดที่ชนะ กฎระเบียบ โปรแกรมจะต้องเป็นแอปพลิเคชันคอนโซลซึ่งหมายความว่ามันจะถูกเรียกใช้จากล่ามบรรทัดคำสั่งบางประเภท ทุกไบต์ต้องเป็นตัวพิมพ์ใหญ่เป็นเลขฐานสิบหกซึ่งคั่นด้วยช่องว่างและต้องเป็น 2 หลัก (ใส่หมายเลข 0 ก่อนถ้ามี 1 หลัก) ไฟล์จะต้องอ่านโดยใช้ IO หรือทางเลือกอื่นและต้องไม่กำหนดรหัสตายตัว เส้นทางของไฟล์จะต้องระบุเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือแจ้งให้ผู้ใช้ (เช่น STDIN) ; ไม่มีช่องว่างโปรด ; ตัวอย่าง test.txt (ลงท้ายด้วย LF) Hello World! $ ./hexdump.exe test.txt 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0A
13 code-golf 

3
ใช้ฟังก์ชัน Darboux อย่างยิ่ง
ตามที่วิกิพีเดียเป็นอย่างยิ่งฟังก์ชั่น Darboux คือ หนึ่งที่ภาพของทุกช่วงเวลาที่เปิด (ไม่ว่างเปล่า) เป็นเส้นจริงทั้งหมด ในคำอื่น ๆ ฟังก์ชั่นfffเป็นอย่างยิ่งหากได้รับ Darboux 3 ตัวเลขจริงพล, ขและy ที่มันเป็นไปได้เสมอที่จะหาxระหว่าง (ที่แตกต่างกัน) และขดังกล่าวว่าF ( x ) = Yaaabbbyyyxxxaaabbbf(x)=yf(x)=yf(x) = y สำหรับวัตถุประสงค์ของการท้าทายนี้เราจะพิจารณาฟังก์ชั่น Darboux อย่างมีนัยสำคัญมากกว่าปันส่วนแทน ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่: ให้จำนวนตรรกยะเป็นเอาต์พุตสำหรับการป้อนจำนวนตรรกยะทุกตัว ให้เอาต์พุตเดียวกันสำหรับอินพุตที่กำหนดและ มีคุณสมบัติ Darboux อย่างยิ่ง อินพุตและเอาต์พุตอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้: ประเภทตัวเลขที่มีความแม่นยำโดยพลการหากภาษาของคุณมีหนึ่ง (หรือมีห้องสมุดสำหรับหนึ่งเช่น GMP) การแสดงสตริงของจำนวนซึ่งคุณอาจสันนิษฐานว่าจะมีจุดทศนิยมและอย่างน้อยหนึ่งหลักในแต่ละด้าน มันอาจจะอยู่ในฐานb≥2b≥2b \geq 2ใด ๆแต่อินพุตและเอาต์พุตจะต้องอยู่ในฐานเดียวกัน คุณสามารถใช้ชุดอักขระสำหรับตัวเลขและจุดทศนิยม (แต่อีกครั้งพวกเขาจะต้องสอดคล้องกันระหว่างอินพุตและเอาต์พุต) อินพุตจะมีการยกเลิกการขยายฐานbbbเสมอ สำหรับผลลัพธ์ซึ่งอาจมีการขยายฐานbbbหลักทฤษฏีไม่สิ้นสุดขึ้นอยู่กับการเลือกฟังก์ชันที่คุณเลือกคุณอาจเลือกข้อใดข้อหนึ่งต่อไปนี้: ตัวเลขเอาท์พุทตลอดไป ใช้จำนวนเต็มเพิ่มเติมเป็นอินพุตและเอาต์พุตอย่างน้อยจำนวนหลัก เอาท์พุทอย่างน้อยตัวเลขให้มากที่สุดเท่าที่อยู่ในการป้อนข้อมูล (ซึ่งอาจมีศูนย์ต่อท้าย) โปรดทราบว่าโดยธรรมชาติของความท้าทายนี้อนุสัญญาที่อาจใช้ตัวเลขแทนประเภทมาตรฐานมาตรฐานจะใช้ไม่ได้ยกเว้นการป้อนข้อมูลครั้งที่สองที่อธิบายไว้ในตัวเลือก …
13 code-golf  number 

7
ค้นหาเส้นผ่านศูนย์กลางของกราฟคำ
บทนำ ปริศนาคำศัพท์ยอดนิยมคือการแปลงหนึ่งคำเป็นอีกคำหนึ่งผ่านชุดของขั้นตอนที่แทนที่ตัวอักษรเพียงตัวเดียวและส่งผลให้เกิดคำที่ถูกต้องเสมอ ตัวอย่างเช่น BAG สามารถแปลงเป็น DOG ผ่านเส้นทางห้าขั้นตอน: BAG -> BAT -> CAT -> COT -> COG -> DOG เส้นทางที่สั้นกว่านั้นมีอยู่ในกรณีนี้เช่นกัน ตัวอย่างเช่น: BAG -> BOG -> DOG หากมีใครวาดกราฟซึ่งจุดยอดถูกติดป้ายกำกับด้วยคำโดยมีขอบระหว่างคำคู่ใด ๆ ที่แตกต่างกันด้วยตัวอักษรหนึ่งตัวเส้นทางที่สั้นที่สุดจาก "BAG" ถึง "DOG" จะประกอบด้วยสองขอบ ท้าทาย คุณจะต้องเขียนโปรแกรมที่รับเป็น "พจนานุกรม" ของคำที่ทุกคนมีความยาวเท่ากันแสดงถึงคำที่อนุญาตทั้งหมดที่สามารถปรากฏเป็นขั้นตอนตามเส้นทาง มันควรจะส่งออกอย่างน้อยหนึ่ง "เส้นทางที่สั้นที่สุดที่ยาวที่สุด" นั่นคือเส้นทางระหว่างคำสองคำคือ: ไม่เกินเส้นทางอื่นระหว่างคำทั้งสองนี้ อย่างน้อยตราบใดที่เส้นทางที่สั้นที่สุดที่เป็นไปได้ระหว่างคำอื่น ๆ ในรายการ ในบริบทของกราฟที่อธิบายข้างต้นความยาวของเส้นทางดังกล่าวคือเส้นผ่านศูนย์กลางของกราฟ ในกรณีที่เสื่อมโทรมซึ่งไม่มีคำใดที่ป้อนเข้าสามารถแปลงเป็นคำอื่น ๆ ได้ให้ส่งออกอย่างน้อยหนึ่งเส้นทางที่มีความยาวศูนย์นั่นคือคำเดียว ตัวอย่าง อินพุต ["bag", …
13 code-golf 

2
ใครบ้างที่สามารถหลบหนีเกม Nonary ได้?
เกม Nonary เป็นเกมสวมบทบาทที่เล่นในวิดีโอเกมตอนจบที่มีชื่อเดียวกัน เป้าหมายของคุณคือค้นหาว่ามีผู้เล่นกี่คน (ที่ดีที่สุด) สามารถหลบหนีเกมที่กำหนดได้โดยใช้โค้ดน้อยที่สุด กฎของเกม มีผู้เล่น 9 คนหมายเลข 1 ถึง 9 ผู้เล่นทุกคนเริ่มต้นในห้องเดียวกัน มีประตูจำนวนหนึ่งแต่ละอันมีหมายเลข 1 ถึง 9 อาจมีหมายเลขประตูซ้ำหรือหายไป ประตูมีการเชื่อมต่อทางเดียวระหว่างห้อง แต่ละประตูสามารถใช้ได้เพียงครั้งเดียว มีเพียงกลุ่มที่มีผู้เล่น 3 ถึง 5 คนเท่านั้นที่สามารถผ่านเข้าประตูได้ กลุ่มสามารถผ่านประตูได้ถ้าผลรวมของตัวเลขโมดูโล 9ตรงกับหมายเลขโมดูโล 9ของประตู ผู้เล่นที่ผ่านประตู 9 ช่อง (ชนะ) ตัวอย่าง ┌───┬───┬───┐ │ 6 4 9 │ < │ | | │ 3 5 9 └───┴───┴───┘ <แสดงถึงจุดเริ่มต้น …
13 code-golf  game 

7
พิมพ์ความยาวทั้งหมดของอักขระ“ ที่ยกมา” ทั้งหมด
กฎระเบียบ ในความท้าทายนี้ฉันจะนิยามนิยามของ "คำพูด" อีกเล็กน้อย เครื่องหมายอัญประกาศ ( อัญประกาศ AKA ) เป็นอักขระที่เหมือนกันที่ใช้เป็นคู่ในระบบการเขียนต่าง ๆ เพื่อตั้งค่าการพูดโดยตรงใบเสนอราคาหรือวลี ทั้งคู่ประกอบด้วยเครื่องหมายคำพูดเปิดและเครื่องหมายคำพูดปิดซึ่งเป็นตัวละครเดียวกัน หากมีคู่คำพูดทับซ้อนกัน หากทั้งคู่ซ้อนกันทั้งคู่จะยังคงใช้งานได้ หากทั้งคู่ไม่ได้ซ้อนกันคู่ใหม่ที่เริ่มต้นยังคงใช้งานได้ อีกคู่ไม่ถือว่าเป็นคู่อีกต่อไป เมื่อทำการนับตัวอักษรที่ยกมา (ความยาวของคู่ของคำพูด) คำพูดนั้นไม่นับรวม ความยาวของแต่ละคู่ถูกนับอย่างอิสระ การซ้อนทับไม่ส่งผลกระทบต่ออีก เป้าหมาย เป้าหมายของคุณคือการพิมพ์ความยาวทั้งหมดของคำพูดที่ถูกต้องทั้งหมด นี่คือรหัสกอล์ฟดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ ตัวอย่าง Legend: <foo>: Valid quotes ^ : Cannot be paired character Input : ABCDDCBA `A` (6): <BCDDCB> `B` (4): <CDDC> `C` (2): <DD> `D` (0): …

29
เซตย่อยของชุด
งาน ที่กำหนดไว้ S=[1,2,3,4,5,6,7,8]S=[1,2,3,4,5,6,7,8]S = \left[{1,2,3,4,5,6,7,8}\right] และจำนวนเต็ม 0≤N&lt;2|S|0≤N&lt;2|S|0 \leq N < 2^{|S|} ค้นหาชุดย่อย Nth Input / Output Nถูกกำหนดเป็นจำนวนเต็มที่ไม่ได้ลงนามใน stdin คุณต้องพิมพ์เซตชับในรูปแบบที่เหมาะสมสำหรับภาษาของคุณ (ซึ่งอาจรวมถึง[1,2,3], {1,2,3}, [1, 2, 3], 1 2 3, 1,2,3ฯลฯ ให้นานเท่าที่จะเป็นมนุษย์ที่สามารถอ่านข้อความรูปแบบ) เล็กน้อยเกี่ยวกับชุดย่อย มีความสัมพันธ์ระหว่างชุดย่อยและตัวเลขในฐานสอง แต่ละหลัก ระบุว่าองค์ประกอบที่iของชุดอยู่ภายในชุดย่อยหรือไม่ ตัวอย่างเช่น00000000จะเป็นชุดว่างเปล่าและ10000001เป็นชุดย่อยที่มี(องค์ประกอบสุดท้ายและองค์ประกอบแรก) คุณจะได้รับเซตชับโดยการแปลงตัวเลขลงในฐานที่ 2 และจากนั้นเซตรวมถึงองค์ประกอบทั้งหมดที่0 เซตที่ 3 (3 = 00000011) จึงมี ตัวเลขที่ถูกต้องที่สุดคือตัวเลข # 0 มันตกลงที่จะพิมพ์ ไม่จำเป็นต้องจัดเรียงชุดdผมdid_{i}[1,8]dผม&gt; 0di&gt;0d_{i} > …
13 code-golf 

4
รับคะแนน pylint ต่ำสุดที่เป็นไปได้ภายใน 128 ไบต์ของ python
ไพลินมีคะแนนไม่ต่ำกว่าที่จะให้รหัสของคุณ มันใช้ตัวชี้วัดต่อไปนี้เพื่อให้คะแนนรหัสด้วยคะแนนสูงสุดเป็น 10: 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) ด้วย python 3.6 ลองและเขียนโปรแกรมที่: เอาต์พุต "Hello World" เมื่อรันจากบรรทัดคำสั่ง (เช่นpython script.py) และไม่มีเอาต์พุตอื่น รับคะแนนต่ำสุดที่เป็นไปได้pylintด้วยการตั้งค่าเริ่มต้น (เช่นpylint script.py) มีขนาดน้อยกว่าหรือเท่ากับ 128 ไบต์อย่างเคร่งครัด

11
การเข้ารหัส Zero-One ที่สมดุล
งาน เข้ารหัสสตริงที่ประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่ทั้งหมด ( A-Z) โดยใช้ศูนย์และคนโดยใช้รูปแบบที่คุณชื่นชอบ แต่กฎนั้นไม่ง่ายเลย! กฎระเบียบ โปรแกรมของคุณ / ฟังก์ชั่นได้อย่างถูกต้องจะต้องจัดการกับสายป้อนถูกต้องใด ๆ ของความยาว 8 ผลลัพธ์จะต้องมีความยาวเท่ากันสำหรับอินพุตทั้งหมด ผลลัพธ์จะต้องแตกต่างกันสำหรับอินพุตที่แตกต่างกัน ผลลัพธ์จะต้องสั้นที่สุด ผลลัพธ์จะต้องมีศูนย์ที่สมดุลหนึ่งศูนย์ (มีจำนวนที่ใกล้เคียงกับศูนย์) พวกเขาไม่จำเป็นต้องเท่ากัน (เช่นสมดุลอย่างสมบูรณ์) แต่คะแนนของคุณจะถูกลงโทษสำหรับสิ่งนั้น คุณไม่จำเป็นต้องจัดเตรียมโปรแกรม / ฟังก์ชั่นที่ถอดรหัสการเข้ารหัสของคุณ อินพุตและเอาต์พุต คุณสามารถตัดสินใจที่จะยอมรับชุดของ 26 ที่แตกต่างใด ๆตัวอักขระ ASCIIA-Zแทน คุณสามารถตัดสินใจที่จะส่งออกคู่ที่แตกต่างใด ๆตัวอักขระ ASCIIแทนและ01 คุณไม่ได้รับอนุญาตให้ส่งออกจำนวนเต็มแทนที่จะเป็นบิตสตริงเนื่องจากมันอาจมีศูนย์นำหน้าและไม่มีความชัดเจนหากคุณปฏิบัติตามกฎ 2 จริง ๆ หากคุณตัดสินใจที่จะเบี่ยงเบนจากค่าเริ่มต้น ( A-Zอินพุตและ01เอาต์พุต) คุณต้องระบุชุดอักขระอินพุต / เอาต์พุตในการส่งของคุณ เกณฑ์การให้คะแนน คะแนนฐาน: ขนาดรหัสหรือ 1 ถ้าโปรแกรมของคุณว่างเปล่า บทลงโทษ การลงโทษสำหรับความยาว: …

13
เคล็ดลับการตีกอล์ฟใน QBasic
คุณมีเคล็ดลับทั่วไปอะไรในการเล่นกอล์ฟใน QBasic ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ QBasic (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) เคล็ดลับที่เกี่ยวกับตัวจำลองQB64ก็ยินดีต้อนรับเช่นกัน มันมีคุณสมบัติพิเศษบางอย่างที่ไม่ได้อยู่ใน Microsoft QBasic
13 code-golf  tips  basic 

10
การท้าทายหลายภาษา
หลังจากความสนุกที่เราเคยเจอกับความท้าทายหลายภาษาในอดีต ( ล่าสุด ) แล้วความท้าทายที่เอาต์พุตสามารถเป็นสองภาษาได้อย่างไร คำตอบของคุณต้องยอมรับการป้อนข้อมูลแบบบูลbและผลผลิตข้อความหรือ"true" "false"รหัสเดียวกันต้องมีการส่งออกเมื่อทำงานในภาษาอื่น"waar"หรือ"onwaar"หรือการแปลอื่น ๆและtruefalse อินพุต การป้อนข้อมูลเป็นความจริงที่แตกต่างอย่างชัดเจน / falsey ค่าที่ยอมรับได้คือค่า T / F, บิต, int หรือ (ว่าง) สตริง ข้อมูลป้อนเข้าจะต้องเหมือนกันทุกส่วนที่คุณส่ง เอาท์พุต เอาท์พุทอาจถูกส่งกลับโดยฟังก์ชั่นเขียนไปSTDOUTวางในหน้าต่างป๊อปอัพพิมพ์ 3 มิติและส่งทางไปรษณีย์ ฯลฯ bเอาท์พุทต้องการที่จะเป็นตัวแทนของรัฐของ ดังนั้น 'ความจริง' จึงจำเป็นต้องให้ผลลัพธ์ 'จริง', 'waar' ... และ 'falsey' ควรนำไปสู่ ​​'false', 'onwaar' ฯลฯ ภาษาที่ต่างกันอาจใช้วิธีการแสดงผลที่แตกต่างกัน ภาษาที่ใช้ หนึ่งในผลของคุณจะต้องและ"true""false" ภาษาการเขียนโปรแกรมรุ่นต่าง ๆ นับเป็นภาษาที่แตกต่างกันสำหรับความท้าทายนี้ ภาษาที่แตกต่างกันของภาษามนุษย์นับเป็นภาษาที่แตกต่างกันสำหรับความท้าทายนี้ คุณสามารถขยายหลายภาษาได้มากกว่าสองภาษาการเขียนโปรแกรม ทุกภาษาการเขียนโปรแกรมจำเป็นต้องใช้ภาษามนุษย์ที่แตกต่างกันออกไป คำตอบที่มีภาษาส่วนใหญ่รวมอยู่จะถูกประกาศให้เป็นผู้ชนะ …

7
การทดสอบลำดับที่ยอมรับได้
บทสรุปผู้บริหาร: ทดสอบว่าลำดับอินพุตของจำนวนเต็มเป็น "ที่ยอมรับได้" หมายความว่ามันไม่ครอบคลุมคลาสที่เหลือทั้งหมดสำหรับโมดูลัสใด ๆ ลำดับ "ที่ยอมรับได้" คืออะไร รับจำนวนเต็ม m ≥ 2, คลาสตกค้างมอดูโล mเป็นเพียงความก้าวหน้าทางคณิตศาสตร์ m ที่เป็นไปได้ของความแตกต่างทั่วไป m ตัวอย่างเช่นเมื่อ m = 4 คลาสที่เหลือ 4 แบบโมดูโล 4 คือ ..., -8, -4, 0, 4, 8, 12, ... ..., -7, -3, 1, 5, 9, 13, ... ..., -6, -2, 2, 6, 10, 14, ... …

4
คำนวณจุดแฟร์มาต์ของรูปสามเหลี่ยม
นี่ค่อนข้างคล้ายกับศูนย์กลางของรูปสามเหลี่ยมแต่มีจุดที่แตกต่างกัน แฟร์มาต์พอยต์เป็นจุด P ในรูปสามเหลี่ยม ABC ดังกล่าวว่าค่าของ AP + BP + ซีพีจะลดลง มีสองกรณี: หากมีมุมที่มากกว่า 120 องศาจุดยอดนั่นคือจุดแฟร์มาต์ มิฉะนั้นวาดรูปสามเหลี่ยมด้านเท่าที่ด้านข้างของ ABC เชื่อมต่อจุดสุดยอดของรูปสามเหลี่ยมด้านเท่าแต่ละด้านกับจุดยอดตรงข้ามของรูปสามเหลี่ยม ABC การทำเช่นนี้สำหรับสามเหลี่ยมมุมฉากแต่ละรูปสามรูปนั้นส่งผลให้เกิดจุดร่วมจุดเดียวของจุดตัดทั้งสามเส้นซึ่งก็คือจุดแฟร์มาต์ ควรรันภายใน 5 วินาทีบนเครื่องที่เหมาะสม อินพุต : ชุด 3 คะแนนไม่จำเป็นต้องเป็นจำนวนเต็ม สิ่งนี้สามารถนำมาเป็นอาร์เรย์สตริงรายการของสิ่งอันดับเป็นต้น (สิ่งใดก็ตามที่เหมาะสมกับภาษาของคุณ) เอาท์พุท : พิกัดของจุดแฟร์มาต์อีกครั้งอย่างไรก็ตามภาษาของคุณจัดการกับจุดที่ดีที่สุด ความไม่ถูกต้องของคะแนนลอยตัวจะไม่ถูกนับรวมกับคุณ กรณีทดสอบ : [[1, 1], [2, 2], [1, 2]] --&gt; [1.2113248654051871, 1.788675134594813] [[-1, -1], [-2, -1], [0, …

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