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

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

12
เมื่อไหร่ฉันจะได้รถไบนารี
ฉันสังเกตเห็นว่ามาตรวัดระยะทางรถยนต์ของฉันอยู่ที่ 1,01101 เมื่อฉันไปทำงานวันนี้ อันไหนเป็นจำนวนที่เท่เพราะมันเป็นเลขฐานสอง (และ palindrome แต่นั่นไม่สำคัญ) ตอนนี้ฉันอยากรู้ว่าครั้งต่อไปฉันจะอ่านเลขฐานสองเมื่อใด ฉันไม่สามารถอ่านมาตรวัดระยะทางในขณะที่ฉันขับรถเพราะนั่นจะเป็นอันตรายดังนั้นมันจะต้องเป็นเลขฐานสองทั้งเมื่อฉันไปทำงานหรือกลับบ้าน มีการจราจรติดขัดระหว่างทางไปและกลับจากออฟฟิศของฉันดังนั้นฉันต้องใช้เส้นทางที่แตกต่างกันในแต่ละวัน สำหรับวัตถุประสงค์ของการท้าทายนี้วันหนึ่งเป็นการเดินทางไปกลับและเริ่มต้นด้วยการเดินทางของฉันเพื่อทำงาน คุณจะต้องอ่านค่าเริ่มต้นของมาตรวัดระยะทางและลำดับองค์ประกอบ 10 รายการที่แสดงถึงจำนวนไมล์ในแต่ละวิธี ลำดับนี้ควรทำซ้ำจนกว่าคุณจะได้รับการอ่านมาตรวัดระยะทางไบนารี จากนั้นคุณควรส่งออกจำนวนวันที่ต้องใช้จนกว่าเราจะได้รับการอ่านแบบไบนารี ทั้งระยะทางสำหรับเส้นทางและการอ่านมาตรวัดระยะทางจะเป็นจำนวนเต็มบวก จำนวนวันจะเป็นxหรือx.5ดังนั้นผลลัพธ์ของการนับวันของคุณจำเป็นต้องสนับสนุนจุดลอยสำหรับครึ่งวัน .0ถ้านับวันเป็นจำนวนเต็มคุณไม่จำเป็นต้องส่งออก เครื่องวัดระยะทางจะเข้าสู่สถานะไบนารีในที่สุด รูปแบบใด ๆ ของอินพุต / เอาต์พุตเป็นที่ยอมรับและไม่อนุญาตช่องโหว่มาตรฐาน กรณีทดสอบ: 101101, [27, 27, 27, 27, 27, 27, 27, 27, 27, 27] == 165.0 1, [13, 25, 3, 4, 10, 8, 92, 3, 3, 100] …

1
แก้ 0h n0 บอร์ด
0h n0เป็นเกมที่เล่นง่ายและสนุกมากเช่น Sudoku หรือเรือกวาดทุ่นระเบิด กฎของเกม (ฉันขอแนะนำให้ใช้บทช่วยสอนในเกมถ้าทำได้ทำได้ง่ายและมีประโยชน์) จิ๊กซอว์เริ่มต้นด้วยn * nกระดานที่มีชิ้นส่วนคงที่และเซลล์ว่างบางส่วนและผู้แก้ปัญหาต้องหาวิธีในการเติมชิ้นส่วนที่ว่างเปล่าด้วยเซลล์และสนองข้อ จำกัด ทั้งหมดที่กำหนดโดยชิ้นส่วนคงที่ นี่คือประเภทของชิ้นส่วนที่เราจะใช้กับตัวย่อ: # ชิ้นสีแดง (บล็อกมุมมองของชิ้นส่วนสีน้ำเงิน) O ชิ้นส่วนสีน้ำเงิน . ตำแหน่งว่าง numberชิ้นสีน้ำเงินที่มีหมายเลข ( numberเป็นตัวเลขหนึ่งหลัก> 0) ชิ้นส่วนที่เป็นตัวเลขทั้งหมดจะต้องเห็นจำนวนชิ้นสีน้ำเงินเท่ากับจำนวน ตัวอย่างเช่น: #1O#O ...O. 1ชิ้นสามารถดูเพียงชิ้นเดียวสีฟ้าอื่น ๆ ชิ้นส่วนมองเห็นซึ่งกันและกัน ชิ้นสีน้ำเงินสองชิ้นสามารถมองเห็นซึ่งกันและกันหากอยู่ในแถวหรือคอลัมน์เดียวกันและไม่มีชิ้นสีแดงอยู่ระหว่างกัน ตัวอย่าง: ( Sเป็นตำแหน่งที่Oชิ้นส่วนสามารถมองเห็นXไม่เห็น) S S X#SOSS # X ชิ้นส่วนสีน้ำเงินแต่ละชิ้นต้องดูอย่างน้อยหนึ่งชิ้นสีน้ำเงินอื่น ๆ : #O# ทำงานได้ แต่: #OO หรือ: ### ทำงาน. คณะกรรมการการสาธิตแก้ปัญหา …

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

13
วิธีการสี่เหลี่ยมกลาง
บทนำ วิธีการกลางสแควร์จะใช้สำหรับการสร้างตัวเลขหลอกเทียม อย่างไรก็ตามนี่ไม่ใช่วิธีการที่ดีในการปฏิบัติเนื่องจากช่วงเวลานั้นมักจะสั้นมากและมีจุดอ่อนที่รุนแรง มันทำงานอย่างไร ลองมาตัวอย่าง: สำหรับเมล็ดเราเลือก123456: Seed 123456 เมล็ดกำลังสอง (เมล็ด×เมล็ด) เท่ากับ: Seed² 15241383936 เราเริ่มต้นด้วย6 หลักจำนวน นั่นหมายความว่าเมล็ดยืดควรส่ง12 บาทจำนวน หากไม่ใช่กรณีนี้จะมีการเพิ่มศูนย์นำหน้าเพื่อชดเชย: Seed² 015241383936 จากนั้นเราจะนำส่วนตรงกลางของจำนวนที่มีขนาดเท่ากับเมล็ด: Seed² 015241383936 ^^^^^^ นี่คือเมล็ดพันธุ์ใหม่ของเรา: 241383. เราทำซ้ำกระบวนการเดียวกันตามที่แสดงด้านบน เราได้รับดังต่อไปนี้: 0: 123456 015241383936 | | 1: 241383 058265752689 | | 2: 265752 070624125504 | | 3: 624125 389532015625 | | 4: 532015 …

20
เขียน Metaquine
เมตาควินเป็นโปรแกรมที่ไม่ได้เป็นควิน แต่มีเอาต์พุตเมื่อรันเป็นโปรแกรมในภาษาเดียวกันจะเป็นควิน เป้าหมายของความท้าทายนี้คือการเขียน metaquine นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดชนะด้วยคำตอบแรกสุดที่ใช้เป็น tiebreaker โปรดทราบว่ามีเพียงโปรแกรมเต็มรูปแบบที่ยอมรับได้เนื่องจากคำจำกัดความของควิน กฏสำหรับ Quines ยอมรับ Quines จริงเท่านั้น นั่นคือคุณต้องพิมพ์คำต่อคำทั้งหมดเพื่อ STDOUT โดยไม่ต้อง : อ่านซอร์สโค้ดของคุณโดยตรงหรือโดยอ้อม อาศัยสภาพแวดล้อม REPL ซึ่งเพียงประเมินและพิมพ์นิพจน์ทุกครั้งที่คุณป้อน อาศัยคุณสมบัติภาษาที่เพิ่งพิมพ์ออกมาในบางกรณี ใช้ข้อความแสดงข้อผิดพลาดหรือ STDERR เพื่อเขียนทั้งหมดหรือบางส่วนของควิน (คุณสามารถเขียนสิ่งต่าง ๆ ไปยัง STDERR หรือสร้างข้อผิดพลาด / เตือนไม่ใช่ข้อผิดพลาดได้ตราบใดที่ STDOUT เป็นควินินที่ถูกต้องและข้อความผิดพลาดไม่ได้เป็นส่วนหนึ่งของมัน) ซอร์สโค้ดประกอบด้วยตัวอักษรล้วนๆ (ไม่ว่าจะเป็นตัวอักษรสตริงตัวอักษรตัวเลข ฯลฯ ) และ / หรือ NOP เอาท์พุทที่ไม่สามารถปราบปรามได้ (เช่นประกาศลิขสิทธิ์ข้อความเริ่มต้น / ปิดเครื่องหรือฟีดบรรทัดต่อท้าย) อาจถูกละเว้นในเอาต์พุตเพื่อประโยชน์ของ quine ตัวอย่าง ไม่สนใจกฎที่ห้ามโปรแกรมที่มีตัวอักษรเท่านั้นและมีการสร้างควินนิ่งในตัวนี่จะเป็น metaquine …

20
คำนวณ minimax ของอาร์เรย์
พิจารณาอาร์เรย์xเช่น[1 5 3 4]และจำนวนตัวอย่างเช่นn 2เขียน length- ทั้งหมดnsubarrays [1 5]เลื่อน: [5 3], [3 4], ปล่อยให้minimaxของ array ถูกกำหนดเป็นค่าต่ำสุดของ maxima ของบล็อกแบบเลื่อน ดังนั้นในกรณีนี้ก็จะเป็นขั้นต่ำของซึ่งเป็น5, 5, 44 ท้าทาย ให้อาร์เรย์xและจำนวนเต็มบวกnเอาท์พุท minimax ตามที่นิยามไว้ข้างต้น อาร์เรย์xจะมีจำนวนเต็มบวกเท่านั้น nมักจะเป็นอย่างน้อยและในที่สุดความยาวของ1x การคำนวณอาจทำได้โดยขั้นตอนใด ๆ โดยไม่จำเป็นต้องเป็นไปตามที่กำหนดไว้ข้างต้น รหัสกอล์ฟน้อยที่สุดที่จะชนะ กรณีทดสอบ x, nส่งผลให้เกิด [1 5 3 4], 2 4 [1 2 3 4 5], 3 3 [1 1 1 …

15
องค์ประกอบ Hypercube
เขียนฟังก์ชั่นหรือโปรแกรมที่ส่งออกจำนวนขององค์ประกอบแต่ละประเภท (จุดยอด, ขอบ, ใบหน้า, ฯลฯ ) ของ hypercube N-Dim ตัวอย่างเช่นลูกบาศก์ 3 มิติมี 1 เซลล์ (เช่น 1 ลูกบาศก์ 3 มิติ), 6 ใบหน้า (เช่น 6 2 มิติมิติ), 12 ขอบ (เช่น 12 มิติสองมิติ) และ 8 จุดยอด (เช่น 8 0 มิติ ลูกบาศก์). รายละเอียดเพิ่มเติมเกี่ยวกับองค์ประกอบ Hypercube สามารถดูได้ที่นี่ คุณสามารถดูลำดับ OEIS ต่อไปนี้ได้เช่นกัน อินพุต รหัสของคุณจะใช้เป็นอินพุต (ผ่าน STDIN หรือพารามิเตอร์ฟังก์ชันหรือสิ่งที่คล้ายกัน) จำนวนเต็มมากกว่าหรือเท่ากับ …

6
การเขียนโปรแกรมไสยศาสตร์
ความท้าทายของคุณนั้นง่ายมาก ให้ปีเป็นอินพุทพิมพ์เดือนทั้งหมดในปีนั้นซึ่งจะมีวันศุกร์ที่ 13ตามปฏิทินเกรกอเรียน โปรดทราบว่าแม้ว่าปฏิทิน Gregorian จะไม่ถูกนำมาใช้จนถึงปี 1582 แต่เราจะแกล้งทำเป็นว่ามีการใช้งานมาตั้งแต่ปีค. ศ. 0001 กฎระเบียบ อนุญาตให้ใช้โปรแกรมหรือฟังก์ชั่นแบบเต็ม คุณสามารถรับอินพุตเป็นอาร์กิวเมนต์ฟังก์ชันจาก STDIN หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่ง คุณไม่ได้รับอนุญาตให้ใช้วันที่และเวลาในตัว คุณสามารถสรุปได้ว่าข้อมูลที่ป้อนจะเป็นปีที่ถูกต้อง หากอินพุตมีขนาดเล็กกว่า 1 ไม่ใช่จำนวนเต็มที่ถูกต้องหรือใหญ่กว่าภาษาของคุณคุณไม่จำเป็นต้องจัดการกับสิ่งนี้และคุณจะได้รับพฤติกรรมที่ไม่ได้กำหนด เอาต์พุตอาจเป็นตัวเลขเป็นภาษาอังกฤษหรือในรูปแบบที่มนุษย์สามารถอ่านได้อื่น ๆ ตราบใดที่คุณระบุมาตรฐาน ตรวจสอบให้แน่ใจว่าคุณคิดเป็นปีอธิกสุรทิน และจำไว้ว่าปีอธิกสุรทินจะไม่เกิดขึ้นทุก ๆ 4 ปี! เคล็ดลับ เนื่องจากมีวิธีการมากมายเกี่ยวกับเรื่องนี้ฉันจึงไม่ต้องการที่จะบอกคุณว่าจะทำอย่างไร อย่างไรก็ตามอาจทำให้เกิดความสับสนได้ว่าจะเริ่มต้นอย่างไรดังนั้นนี่คือวิธีที่เชื่อถือได้สองวิธีที่แตกต่างกันในการกำหนดวันในสัปดาห์จากวันที่ วันโลกาวินาศ - อัลกอริธึมของ Conway เลือกวันที่เริ่มต้นด้วยวันที่รู้จักของสัปดาห์เช่นวันจันทร์ที่ 1 มกราคม 0001และค้นหาว่าทั้งสองวันอยู่ห่างกันมากแค่ไหนและใช้หมายเลข mod 7 นั้น อัลกอริทึมของเกาส์ ความหลากหลายของอัลกอริทึมของเกาส์ วิธีใดก็ได้เหล่านี้ ตัวอย่าง IO 2016 --> May …
19 code-golf  date  time 

10
พิมพ์แป้นพิมพ์ QWERTY โดยใช้ปุ่มที่อยู่ติดกันให้มากที่สุด
โดยปกติแล้วความท้าทายจะได้คะแนนเป็นไบต์หรือบางครั้งระยะทางของ Levenshtein แต่สำหรับสิ่งนี้เรากำลังใช้ระยะทางบนแป้นพิมพ์ - จำนวนของปุ่มระหว่างแป้นที่ใช้ในการพิมพ์โปรแกรม (ใช้แป้นพิมพ์ด้านบนเป็นข้อมูลอ้างอิงที่ชัดเจน) ยกตัวอย่างเช่นระยะห่างระหว่างAและF3 เพราะเส้นทางA=> S=> =>D Fระยะห่างระหว่างNและ5คือ 4 เพราะไม่ว่าคุณจะใช้เส้นทางใดมันต้องมีอย่างน้อย 4 ขั้นตอน งานของคุณคือการส่งออกต่อไปนี้ (ไม่รวมถึงช่องว่างต่อท้าย) โดยมีระยะทางแป้นพิมพ์เล็กที่สุดเท่าที่จะทำได้: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M ห่อ: เพื่อให้ชีวิตของคุณง่ายขึ้นบางปุ่มสามารถพันรอบแป้นพิมพ์ได้ Left ShiftตัดไปRight Shift, Caps …

19
ตัวเลข Lucas-nacci
พื้นหลัง ทุกคนส่วนใหญ่คุ้นเคยกับตัวเลขฟีโบนักชี F(n) : 0, 1, 1, 2, 3, 5, 8, 13, 21 ... เหล่านี้จะเกิดขึ้นจากฟังก์ชั่นเรียกซ้ำตัวเองF(n) = F(n-1) + F(n-2)ด้วยและF(0)=0 A000045F(1)=1 ลำดับที่เกี่ยวข้องอย่างใกล้ชิดคือหมายเลข Lucas L(m) : 2, 1, 3, 4, 7, 11, 18, 29 ... เหล่านี้จะเกิดขึ้นจากฟังก์ชั่นเรียกซ้ำตัวเองL(m) = L(m-1) + L(m-2)ด้วยและL(0)=2 A000032L(1)=1 เราสามารถสลับระหว่างสองลำดับขึ้นอยู่กับดัชนีคู่ / คี่กับการก่อสร้าง A(x) = F(x)ถ้าx mod 2 = 0และเป็นA(x) = …

5
เล่น Antichess!
https://en.wikipedia.org/wiki/Losing_chess นี่เป็นพื้นฐานการแข่งขันหมากรุกแต่สำหรับความเป็นปฏิปักษ์;) Antichess เป็นหนึ่งในเกมหมากรุกที่ได้ถูกประดิษฐ์ขึ้น เป้าหมายคือการสูญเสียชิ้นส่วนทั้งหมดของคุณ (ซึ่งอาจดูแปลก ๆ เล็กน้อย แต่มันเรียกว่า antichess ด้วยเหตุผล) กฎระเบียบ กฎของ antichess นั้นคล้ายกับหมากรุกมาตรฐาน - แต่มีความแตกต่างเล็กน้อยเล็กน้อย เป้าหมายที่ฉันกล่าวถึงข้างต้นคือการสูญเสียชิ้นส่วนทั้งหมดของคุณ ในการทำให้สิ่งนี้เกิดขึ้นถ้าคู่ต่อสู้ของคุณมีโอกาสที่จะจับชิ้นส่วนหนึ่งของคุณนั่นเป็นเพียงการเคลื่อนไหวเดียวที่เขาสามารถทำได้ หากคุณให้โอกาสเขาหลายครั้งในคราวเดียวผู้เล่นคนอื่นอาจเลือกตาเขาได้ อีกสิ่งหนึ่งที่เปลี่ยนไปคือราชาไม่มีพลังพิเศษ - ในขณะที่คุณไม่สามารถรุกฆาตคู่ต่อสู้ของคุณและคุณไม่สามารถบังคับให้เขาตรวจสอบ การเปลี่ยนแปลงต่อไปนี้สำหรับเกมมาตรฐานจะมีผลบังคับใช้ด้วย (จะช่วยทำให้เกมง่ายขึ้น): En passantจะถูกละเว้น การขว้างเป็นไปไม่ได้ กฎห้าสิบย้ายนำไปใช้โดยอัตโนมัติ (หมายถึงเกมสิ้นสุดในการวาด) ผู้จำนำจะสามารถเลือกสิ่งที่พวกเขาส่งเสริม หากผู้เล่นต้องการความเคลื่อนไหวนานกว่า 2 วินาทีเขาจะแพ้ในเกม การคืนการย้ายที่ไม่ถูกต้องจะส่งผลให้สูญเสียเกม ที่จะชนะฝ่ายตรงข้ามของคุณจะต้องจับชิ้นส่วนทั้งหมดของคุณ ขาวเริ่มเกม สีขาวถูกวางไว้ "ที่ด้านล่าง" ของฟิลด์ (y = 0) สีดำจะอยู่ที่ด้านบน (y = 7) การเข้าถึงทรัพยากรอื่น ๆ นอกเหนือจากบอทของคุณ …

15
เครื่องคิดเลข Numerology
เป้าหมายของการท้าทายนี้คือการคำนวณหนึ่งชนิดของตัวเลขหลักจากสตริงที่มีตัวอักษรและตัวเลข อินพุตอาจใช้วิธีการที่สะดวก (อินพุตมาตรฐานอาร์กิวเมนต์ไฟล์แยก) การป้อนข้อมูลที่อาจจะมีตัวอักษรใด ASCII พิมพ์ แต่เพียงและตัวเลข ( A-Z, a-zและ0-9) จะต้องได้รับการพิจารณา ผลลัพธ์จะต้องเป็นตัวเลขระหว่าง1และ9หรือเป็นดาว*ถ้าไม่มีตัวอักษรและไม่มีหลักที่พบ ... (หรือแม้ว่า0อินพุตจะมีจำนวนเท่าใดก็ได้0 และไม่มีอะไรอื่นนอกจากนี้ไม่สำคัญ) ค่าตัวอักษรจะถูกแมปด้วยวิธีนี้: 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y …
19 code-golf 

1
ทำสมการทางคณิตศาสตร์นับจากวันที่
ในชั้นเรียนวิชาเศรษฐศาสตร์เพื่อนของฉันและฉันชอบคิดหาวิธีจัดเรียงตัวเลขใหม่ในรูปแบบวันที่ (เป็น MM / DD / YY) เพื่อสร้างสมการทางคณิตศาสตร์ที่ถูกต้อง ส่วนใหญ่เราได้รับอนุญาตให้ใช้การบวกการลบการคูณการหารวงเล็บและการยกกำลังนอกเหนือไปจากการต่อข้อมูล โปรแกรมของคุณควรทำสิ่งที่คล้ายกัน โปรแกรมควรนำเข้าวันที่ปัจจุบันและตัวดำเนินการแทรกเพื่อพิมพ์นิพจน์ตามกฎต่อไปนี้ ต้องใช้ตัวเลขตามลำดับ ไม่อนุญาตให้จัดเรียงตัวเลข การแสดงออกที่เกิดขึ้นจะต้องถูกต้องทางคณิตศาสตร์ อนุญาตการบวกการลบการคูณการหารการยกกำลังและการใช้วงเล็บได้ ดังนั้นการต่อกันของตัวเลข อย่างไรก็ตามการดำเนินการบางอย่างไม่จำเป็นต้องมี คุณไม่สามารถใช้เครื่องหมายลบเพื่อสร้างตัวเลขลบ (เช่น-1+1+11=10วันที่ 11 พฤศจิกายน 2010) โปรแกรมจะต้องทำงานใน 60 วินาทีบนเครื่องมาตรฐาน ตัวอย่างเช่นความท้าทายนี้เขียนเมื่อวันที่ 10 พฤศจิกายน 2558 โปรแกรมจะตีความสิ่งนี้เป็น 11/10/15 (1+1)/10=1/5การส่งออกจะเป็นตัวอย่าง โบนัส คุณอาจคูณจำนวนไบต์ในรหัสของคุณด้วย 0.9 สำหรับแต่ละรายการของโปรแกรมของคุณที่สนับสนุน โปรแกรมพิมพ์นิพจน์ที่เป็นไปได้ทั้งหมดที่สามารถจัดรูปแบบคั่นด้วยบรรทัดใหม่ คูณด้วย 0.95 เพิ่มเติมหากนิพจน์แสดงรายการตามลำดับที่เพิ่มขึ้นของสัญลักษณ์เพิ่มเติม โปรแกรมนี้ยังใช้งานได้กับวันที่ MM / DD / YYYY พิมพ์ความเป็นไปได้ด้วยตัวเลขสองหลักแรกของปีนอกเหนือจากความเป็นไปได้โดยไม่ต้อง หากโบนัสนี้รวมกับโบนัสแรกจะต้องพิมพ์ความเป็นไปได้ทั้งหมดที่มีตัวเลขสองหลักแรกของปี โปรแกรมนี้ยังพิมพ์สมการเมื่อมีหลาย equalities …

3
การทำแผนที่ของช่วงเวลา
เมื่อเร็ว ๆ นี้ฉันได้พบการทำแผนที่ bijective fจากจำนวนเต็มบวกถึงลำดับที่ จำกัด และซ้อนกัน จุดประสงค์ของการท้าทายนี้คือการนำไปใช้ในภาษาที่คุณเลือก การทำแผนที่ พิจารณาจำนวนnกับปัจจัยที่ แล้ว: ตัวอย่างเช่น: กฎระเบียบ คุณสามารถเขียนโปรแกรมแบบเต็มหรือฟังก์ชั่นเพื่อทำงานนี้ เอาต์พุตสามารถอยู่ในรูปแบบใด ๆ ที่รู้จักเป็นลำดับ บิวด์อินสำหรับการแยกตัวประกอบเฉพาะการทดสอบเบื้องต้นและอื่น ๆได้รับอนุญาต ช่องโหว่มาตรฐานไม่ได้รับอนุญาต โปรแกรมของคุณจะต้องเสร็จสิ้นกรณีทดสอบสุดท้ายภายใน 10 นาทีบนเครื่องของฉัน นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ! กรณีทดสอบ 10: {{},{{}},{}} 21: {{{}},{},{{}}} 42: {{{}},{},{{}},{}} 30030: {{{}},{{}},{{}},{{}},{{}},{}} 44100: {{{{}}},{{{}}},{{{}}},{},{}} 16777215: {{{{}}},{{}},{{}},{},{{}},{{}},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{{}}} 16777213: pastebin

1
กำหนดผู้ชนะการแข่งขัน Connect 4
คุณได้รับตาราง Connect 4 ที่ได้รับการเติมเต็มบางส่วน (7x6) O X O X X O X O O X O X O X X O X X X O O X O O O X X O X (อินพุตสามารถกำหนดเป็นอาร์เรย์ 1D หรือ 2D และเป็นตัวอักษรหรือตัวเลขเป็นต้น) สมมติว่า X เริ่มเกม ยังไม่มีใครได้รับรางวัล ผู้เล่นอาจเล่นได้ไม่ดีจนถึงตอนนี้ แต่ตอนนี้พวกเขาทั้งสองจะใช้กลยุทธ์ที่ดีที่สุด กริดอินพุตไม่ผิดพลาด คุณต้องส่งออกค่าเดียวที่ระบุว่าผู้เล่นคนใดชนะ (หรือเสมอ) ความท้าทายของรหัสกอล์ฟ รหัสที่สั้นที่สุดจึงชนะ …

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