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

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

4
ประเมินเสาพลังงานแบบแยกส่วน
ให้สองตัวเลข n และ m, ประเมินหอพลังอนันต์: n ^ (n + 1) ^ (n + 2) ^ (n + 3) ^ (n + 4) ^ ... mod m โปรดทราบว่า ^ มีความสัมพันธ์ที่ถูกต้อง ดังนั้น 2 ^ 3 ^ 4 = 2 ^ (3 ^ 4) ทีนี้คุณจะสามารถกำหนดค่าให้กับตัวดำเนินการเชื่อมโยงแบบไม่สิ้นสุดได้อย่างไร กำหนด f (n, m, i) เป็นหอส่งกำลังไฟฟ้าที่บรรจุเทอมแรกของหอส่งกำลังไม่มีที่สิ้นสุด จากนั้นก็มีค่าคงที่ C …

1
Github Messenger
เป้าหมาย:เป้าหมายนี้เพื่อรับสตริงและแสดงจำนวนผลงานที่ควรทำในวันใดเพื่อแสดงข้อความ สเปค อินพุต ตัวอักษรสนับสนุนบวกช่องว่าง (เช่น[A-Za-z ]) พื้นที่ว่างเปล่า 3X7 ตัวอักษรถูกกำหนดไว้ในฟอนต์5x7 DOT Matrix ที่จัดไว้ให้ด้านล่าง ขนาดของตัวอักษรแต่ละตัวเป็นรูปสี่เหลี่ยมผืนผ้า bounding ขั้นต่ำ (เช่นl = 3x7, e = 5x5) การระบายสี มี 5 สี C0, C1, C2, C3, C4 CXต้องYมีส่วนร่วมกับ3X <= y < 3(X+1) ตัวอักษรควรสลับระหว่างC1และC2 ช่องว่างไม่มีสี ขนาดตัวอักษรแต่ละตัวควรทับซ้อนกัน 1 คอลัมน์ด้วยตัวอักษรที่อยู่ติดกัน หากเซลล์มีมากกว่า 1 สีให้ใช้ C3 เมทริกซ์ดอท ดอทเมทริกซ์เป็นกราฟประวัติผลงานของ Github หากวันนี้เป็นวันจันทร์ที่ 1 พฤษภาคม …
13 code-golf  date 

4
ตัวหารสามัญโดยประมาณที่เร็วที่สุด
ภาพรวม ในการท้าทายนี้คุณจะได้รับตัวเลขสองตัวซึ่งทั้งคู่มีค่าออฟเซ็ตขนาดเล็กมากกว่าจำนวนของขนาดกลางจำนวนมาก คุณต้องส่งออกหมายเลขขนาดกลางที่เกือบจะเป็นตัวหารของตัวเลขทั้งสองยกเว้นการชดเชยขนาดเล็ก ขนาดของตัวเลขที่เกี่ยวข้องจะถูกทำให้เป็นพารามิเตอร์โดยพารามิเตอร์ความยากลำบาก, l. วัตถุประสงค์ของคุณคือการแก้ปัญหาให้ได้มากที่สุดlในเวลาไม่ถึง 1 นาที ติดตั้ง ในปัญหาที่กำหนดจะมีหมายเลขลับpซึ่งจะเป็นหมายเลขบิตแบบสุ่มl^2( l*l) จะมีตัวคูณสองตัวq1, q2ซึ่งจะเป็นl^3ตัวเลขสุ่มและจะมีสองออฟเซ็r1, r2ตซึ่งจะเป็นlตัวเลขบิตสุ่ม ข้อมูลเข้าสู่โปรแกรมของคุณจะถูกx1, x2กำหนดเป็น: x1 = p * q1 + r1 x2 = p * q2 + r2 นี่คือโปรแกรมสำหรับสร้างกรณีทดสอบใน Python: from random import randrange from sys import argv l = int(argv[1]) def randbits(bits): return randrange(2 ** (bits - …

7
Transmogrifier รหัส C เก่า *
* เครื่องส่งสัญญาณคืออะไร? ในภาษาการเขียนโปรแกรม Cมีการก่อตัวที่เรียกว่าdigraphs และ trigraphsซึ่งเป็นลำดับอักขระสองและสามตัวที่ประเมินเป็นอักขระทั่วไปน้อยลง ตัวอย่างเช่นคุณสามารถใช้ถ้าแป้นพิมพ์ของคุณไม่มี??-~ ข้อความที่กำหนดให้แทนที่อินสแตนซ์ทั้งหมดของ digraphs และ trigraphs ต่อไปนี้ (ด้านซ้าย) ด้วยอักขระที่ถูกต้องสั้นลง golfed (ด้านขวา) ??= # ??/ \ ??' ^ ??( [ ??) ] ??! | ??< { ??> } ??- ~ <: [ :> ] <% { %> } %: # แหล่ง อินพุต อินพุตเป็นข้อความ ASCII ขึ้นบรรทัดใหม่ที่ได้รับอนุญาต ไม่จำเป็นต้องเป็นรหัส …
13 code-golf  string 

2
ซูมเข้าแผนที่
งานของคุณคือกำหนดแผนที่เป็นอินพุทซูมออกหรือซูมเข้าขึ้นอยู่กับสเกล โปรดทราบว่าสเกลที่กำหนดคือสเกลที่จะซูมออกดังนั้นสเกลระหว่าง 0 ถึง 1 จะซูมเข้าจริง ตัวอย่างเช่นให้แผนที่ต่อไปนี้ (ทำไม่ดี): ..____.... ../OOO\... ..\OO/\... .......... และสเกลแฟกเตอร์ของ 2 คุณควรแยกมันออกเป็นส่วน 2x2 ก่อน: .. | __ | __ | .. | .. .. | /O | OO | \. | .. ---------------------- .. | \O | O/ | \. | .. .. | .. | .. …
13 code-golf  string 

25
ผลรวมบางส่วนของ Harmonic Sequence!
คำนิยาม ในวิชาคณิตศาสตร์Harmonic Sequenceหมายถึงลำดับที่ เช่นn THระยะของลำดับเท่ากับซึ่งกันและกันของn บทนำ ในความท้าทายนี้รับจำนวนเต็มบวกnเป็นอินพุตเอาต์พุตผลรวมบางส่วนของคำแรกnของ Harmonic Sequence อินพุต คุณจะได้รับจำนวนเต็มบวก (ภายในช่วงของตัวเลขที่รองรับโดยภาษาของคุณ) สามารถเป็นได้ทั้งที่ลงชื่อและไม่ได้ลงชื่อ (ขึ้นอยู่กับคุณ) เนื่องจากความท้าทายต้องใช้จำนวนเต็มบวกเท่านั้น คุณสามารถรับอินพุตในลักษณะใดก็ได้ยกเว้นสมมติว่ามีอยู่ในตัวแปรที่กำหนดไว้ล่วงหน้า อนุญาตให้อ่านจากไฟล์เทอร์มินัลหน้าต่าง modal ( prompt()ใน JavaScript) เป็นต้น อนุญาตให้ป้อนค่าเป็นอาร์กิวเมนต์ของฟังก์ชันได้เช่นกัน เอาท์พุต โปรแกรมของคุณควรแสดงผลรวมของคำศัพท์แรกของnของ Harmonic Sequence เป็นทศนิยม (หรือจำนวนเต็มถ้าผลลัพธ์หารด้วย 1 อย่างสม่ำเสมอ) ด้วยความแม่นยำของตัวเลข 5 ตัวที่สำคัญโดยที่nอ้างถึงอินพุต ในการถ่ายทอดสิ่งเดียวกันในศัพท์แสงคณิตศาสตร์คุณต้องคำนวณ โดยที่nหมายถึงอินพุต คุณสามารถส่งออกในทางใดทางหนึ่งยกเว้นการเขียนผลลัพธ์ไปยังตัวแปร อนุญาตให้เขียนไปที่หน้าจอเทอร์มินัลไฟล์หน้าต่างโมดอล ( alert()ใน JavaScript) เป็นต้น returnอนุญาตให้ส่งออกเป็นค่าฟังก์ชันได้เช่นกัน กฎเพิ่มเติม หมายเลขอินพุตสามารถเป็น 0 หรือดัชนีอย่างใดอย่างหนึ่ง คุณต้องระบุในโพสต์ของคุณ คุณไม่ต้องใช้ตัวในการคำนวณผลรวมบางส่วนแรกnองค์ประกอบ (ใช่สำหรับคุณ …

13
ใช้ Fibonacci-quine
ควินเป็นโปรแกรมที่เอาท์พุทแหล่งที่มาของมันเมื่อวิ่ง ในการท้าทายนี้คุณควรสร้าง Fibonacci-quine ซึ่งเป็นตัวแปรของควิน Fibonacci-quine คืออะไร Fibonacci-quine เป็นโปรแกรมที่ให้ผลลัพธ์ของการดัดแปลงแหล่งข้อมูลตามกฎต่อไปนี้: ...2...แหล่งที่มาเริ่มต้นที่ควรจะเป็น ในคำอื่น ๆ 2ที่มาควรมี (เพราะเหตุใด 2 ถ้าเป็น 1 ไม่มีใครจะรู้ว่ามันเป็น 1 หรือสองแรกแม้แต่โปรแกรมเอง) เมื่อทำงานคุณควรส่งออกแหล่งที่มา แต่เพียงจำนวนที่เฉพาะเจาะจง (ในขั้นตอนนี้2) เปลี่ยนไปเป็นจำนวนต่อไปของ fibonacci ลำดับ ตัวอย่างเช่น...3.... กันไปสำหรับเอาท์พุทและเอาท์พุทของเอาท์พุท ฯลฯ คุณอาจรองรับจำนวนเต็มได้ถึง 2 ^ 32-1 สำหรับจำนวนเต็มที่เกินขีด จำกัด นั้นเอาต์พุตถัดไปจะเป็นตัวเลือกของคุณ หมายเหตุของ OP ฉันอยากเห็นโซลูชันที่สร้างสรรค์สำหรับสิ่งนี้ ฉันไม่สามารถคิดวิธีแก้ปัญหาเดียวสำหรับเรื่องนี้เนื่องจากทั้งสองแง่มุมที่สำคัญของความท้าทายฟีโบนักชีและควินินนั้นไม่ใช่เรื่องง่าย ฉันจะรอแล้ว!

30
องค์ประกอบของสตริงที่ดัชนีที่ระบุ
กำหนดสตริงsและจำนวนที่ไม่ใช่เชิงลบnน้อยกว่าความยาวของsการส่งออกของตัวละครที่ตำแหน่งของn -ths 0-indexing และ 1-indexing ได้รับอนุญาต สำหรับ 1 การจัดทำดัชนีจะเป็นบวกและน้อยกว่าหรือเท่ากับความยาวของns s จะประกอบด้วยอักขระที่พิมพ์ได้เท่านั้น อนุญาตอินพุต / เอาท์พุตที่สมเหตุสมผล ช่องโหว่มาตรฐานใช้ ทดสอบ (ดัชนี 0): n s output 0 "abcde" a 1 "abcde" b 2 "a != b" ! 3 "+-*/" / 4 "314159" 5 ทดสอบ (ดัชนี 1): n s output 1 "abcde" a 2 "abcde" b …
13 code-golf  string 

7
ค้นหาชุดของการจับคู่ขอบสูงสุด
พิจารณากราฟที่ไม่ได้ทำการเชื่อมต่อ ชุดการจับคู่ของขอบบนกราฟนี้ถูกกำหนดให้เป็นชุดของขอบเช่นว่าไม่มีสองขอบในส่วนแบ่งชุดจุดสุดยอดที่พบบ่อย ตัวอย่างเช่นรูปด้านซ้ายแสดงชุดการจับคู่เป็นสีเขียวในขณะที่รูปขวาแสดงถึงชุดการจับคู่ที่ไม่ใช่สีแดง มีการกล่าวถึงชุดการจับคู่maximally matchingหรือmaximal matchingถ้าไม่สามารถเพิ่มขอบของกราฟลงในชุดการจับคู่ได้ ดังนั้นทั้งสองตัวอย่างข้างต้นไม่ใช่ชุดการจับคู่สูงสุด แต่ชุดทั้งสองด้านล่างเป็นสีน้ำเงินเป็นการจับคู่สูงสุด โปรดทราบว่าการจับคู่สูงสุดไม่จำเป็นต้องซ้ำกัน นอกจากนี้ยังไม่มีข้อกำหนดว่าขนาดของการจับคู่สูงสุดที่เป็นไปได้สำหรับกราฟนั้นเท่ากับการจับคู่อื่น เป้าหมายของความท้าทายนี้คือการเขียนโปรแกรม / ฟังก์ชั่นเพื่อค้นหาการจับคู่สูงสุดของกราฟ อินพุต สมมติว่าจุดยอดทั้งหมดของกราฟป้อนข้อมูลมีจำนวนเต็มต่อเนื่องเริ่มต้นที่ค่าจำนวนเต็มเริ่มต้นที่คุณเลือก ขอบถูกอธิบายโดยคู่เลขจำนวนเต็มที่ไม่เรียงลำดับซึ่งหมายถึงจุดยอดที่ขอบเชื่อมต่อ ตัวอย่างเช่นกราฟที่แสดงด้านบนสามารถอธิบายได้ด้วยชุดของขอบที่ไม่เรียงลำดับดังต่อไปนี้ (สมมติว่าจำนวนของจุดยอดเริ่มต้นที่ 0): [(0,1), (0,2), (1,3), (1,4), (2,3), (3,4), (3,5), (5,6)] อีกทางเลือกหนึ่งในการอธิบายกราฟคือผ่านรายการ adjacency นี่คือตัวอย่างของรายการ adjacency สำหรับกราฟด้านบน: [0:(1,2), 1:(0,3,4), 2:(0,3), 3:(1,2,4,5), 4:(1,3), 5:(3,6), 6:(5)] โปรแกรม / ฟังก์ชั่นของคุณจะต้องใช้กราฟอินพุตจากแหล่งใด ๆ (stdio, พารามิเตอร์ฟังก์ชั่น ฯลฯ ) คุณสามารถใช้สัญลักษณ์ใดก็ได้ที่ต้องการตราบใดที่ไม่มีการสื่อสารข้อมูลที่ไม่สำคัญเพิ่มเติมกับโปรแกรมของคุณ ตัวอย่างเช่นการมีพารามิเตอร์พิเศษเพื่อแสดงว่าจำนวนของขอบอินพุตนั้นเป็นที่ยอมรับได้อย่างสมบูรณ์ ในทำนองเดียวกันการส่งผ่านหลายเซ็ตของขอบรายการคำนำหรือเมทริกซ์ …

1
ช่วยGödelด้วยฟังก์ชั่น [ของเขา [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฟังก์ชันöของGödelใช้ตัวเลขธรรมชาติสามตัวเป็นอาร์กิวเมนต์ มันถูกกำหนดให้เป็น β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) โดยที่ rem (a, b) หมายถึงส่วนที่เหลือหลังจากการหารจำนวนเต็มของ a โดย b βเล็มม่ากล่าวว่า: สำหรับลำดับตัวเลขธรรมชาติใด ๆ (k_0, k_1, …, k_n) มีจำนวนธรรมชาติ b และ c เช่นนั้นสำหรับทุก ๆ …

18
เมื่อไหร่ที่ SE จะลง?
SE จะหยุดทำงาน / อ่านเฉพาะวันนี้ 2017-05-04 เวลา 00:00 UTC จนกระทั่ง 00:20 UTC ความท้าทายของคุณคือการส่งออกค่าความจริงหาก SE ไม่ทำงาน / อ่านอย่างเดียวและเป็นค่าที่ไม่แน่นอนหาก SE ไม่ได้ คุณอาจไม่มีอินพุตและคุณต้องใช้วันที่บิวอินเพื่อตรวจสอบว่า SE ไม่ทำงาน / อ่านอย่างเดียว (ไม่มีการสืบค้น SE api!) ตัวอย่างผลลัพธ์: 12:34 UTC 03 May 2017 -> false 00:00 UTC 04 May 2017 -> true 00:20 UTC 20 May 2017 -> undefined, see below …

6
ประเมินสเปรดชีตอย่างง่าย
กฎระเบียบ ไม่มีการอ้างอิงช่วงเซลล์ ( A2:B3) สูงสุด 9 แถวและ 9 คอลัมน์ ไม่มีการอ้างอิงแบบวงกลมหรือข้อผิดพลาดของสูตร 0เซลล์ว่างประเมิน ข้อมูลเป็นตัวเลขเท่านั้น แต่อาจถูกใช้เป็นสตริง สูตรเป็นสตริง ตัวเลือกการนำไปใช้ คุณต้องระบุตัวเลือกของคุณในเรื่องเหล่านี้: ต้องการสูตรที่จะนำหน้าด้วยอักขระตัวเดียวเช่น=- หรือไม่ เซลล์ซ้ายสุดของแถวที่สองคือA2หรือR2C1ตามอนุสัญญาทั้งสองที่ใช้โดย Excel et al ต้องการตัวอักษรล่วงหน้าหรือคำต่อท้ายในการอ้างอิงเซลล์เช่น$- หรือไม่ หนึ่งใน null, สตริงว่าง, รายการว่าง, ฯลฯ , (แต่ไม่ใช่0) เพื่อแทนเซลล์ว่าง ภาษาที่คุณส่ง (ผู้จัดการสเปรดชีตไม่ได้รับอนุญาต) ภาษาสำหรับสูตร (อาจแตกต่างจากด้านบน) * บราวนี่ชี้หรือคุกกี้เพื่ออธิบายการแก้ปัญหาของคุณ ตัวอย่าง ทางเลือก: 7 =:; 8 A2:; 9: ไม่มี 10 "":; 12: ภาษาสูตร …

13
ปฏิทินไทยหวงแหน
ในปฏิทินไทยปี 2560 ตรงกับปี 2560 ปฏิทินไทยมักจะอยู่ข้างหน้าปฏิทินเกรกอเรียน 543 ปี ผู้สังเกตการณ์จะสังเกตเห็นว่า 2560 มีค่าเท่ากับ2^9 * 5ในคำอื่น ๆ มันมี 10 ปัจจัยสำคัญ สิ่งนี้จะไม่เกิดขึ้นอีกในอีก 896 ปี! เราเรียกหนึ่งปีว่าหวงแหนถ้ามันมีปัจจัยสำคัญสิบประการ เขียนโปรแกรมที่ให้ค่าความจริงถ้าปีปัจจุบันที่ใช้ปฏิทินไทยโดยยึดตามเวลาของระบบคือการยึดติดและค่าความผิดพลาดเป็นอย่างอื่น กรณีทดสอบ: หากโปรแกรมทำงานระหว่างปี 2560 true หากโปรแกรมทำงานระหว่างปี 2018 ถึง 2912 false หากโปรแกรมทำงานระหว่าง 2913, true(2913 + 543 = 2^7 * 3^3)

3
คำนวณฟังก์ชันไบนารีที่มีประสิทธิภาพที่สุด
วันนี้เราจะคำนวณฟังก์ชันไบนารีที่มีประสิทธิภาพที่สุด โดยเฉพาะอย่างยิ่งเราจะคำนวณฟังก์ชันซึ่งเมื่อนิพจน์ถูกสร้างขึ้นจากการใช้ฟังก์ชันกับอินพุตคงที่ 0 หรือเอาท์พุทของตัวเองสามารถแสดงจำนวนเต็มบวกทั้งหมดด้วยนิพจน์ที่สั้นที่สุดที่เป็นไปได้วางลำดับความสำคัญสูงกว่า ฟังก์ชั่นนี้สร้างขึ้นดังนี้ สำหรับแต่ละจำนวนเต็มเริ่มต้นที่ 1 และขึ้นไปเลือกนิพจน์ที่สั้นที่สุดซึ่งเรายังไม่ได้กำหนดเอาท์พุทและทำให้จำนวนเต็มนั้นเป็นเอาท์พุทของนิพจน์นั้น ความสัมพันธ์ในความยาวของการแสดงออกจะถูกทำลายโดยอาร์กิวเมนต์ซ้ายที่เล็กกว่าและจากนั้นด้วยอาร์กิวเมนต์ที่เล็กลง นี่คือวิธีการทำงาน: เริ่มแรกมีการมอบหมาย 1 รายการ นิพจน์ที่ไม่ได้กำหนดที่สั้นที่สุดคือf(0, 0)ดังนั้นเราจะตั้งค่าเป็น 1 ตอนนี้ 2 ยังไม่ได้กำหนด ที่สั้นที่สุดการแสดงออกที่ไม่ได้กำหนดเป็นf(f(0, 0), 0)= f(1, 0)และ=f(0, f(0, 0)) ความสัมพันธ์จะถูกแบ่งไปทางซ้ายอาร์กิวเมนต์ที่มีขนาดเล็กดังนั้นf(0, 1)f(0, 1) = 2 การแสดงออกที่ไม่ได้กำหนดที่สั้นที่สุดที่เหลือf(f(0, 0), 0)= ดังนั้นf(1, 0)f(1, 0) = 3 ตอนนี้เราไม่ได้แสดงออกเพียง 2 fวินาทีและ 3 0วินาทีดังนั้นเราจะต้องเพิ่มอีกหนึ่งรายการ ทำลายความสัมพันธ์โดยอาร์กิวเมนต์ซ้ายแล้วโต้แย้งสิทธิที่เราจะได้รับตั้งแต่f(0, 2) = 4f(0, f(0, f(0, …

28
ปรุงฮอทดอกให้ฉันด้วย! [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา บางครั้งฉันก็พบว่าตัวเองต้องการสุนัขสุดฮ็อต (ไม่ใช่พวกเราทุกคน) และฉันก็เลยทำมันขึ้นมา ตอนนี้การทำฮอทดอกเป็นเรื่องง่ายมาก 1) ใส่ฮอทดอกลงในน้ำเดือด 2) รอเวลา (ตามรายละเอียดด้านล่าง) 3) กินฮอทดอกเมื่อเวลาผ่านไป คุณอาจสังเกตเห็นว่าฉันพูด เวลาที่แน่นอน (รายละเอียดด้านล่าง) และฉันก็จะลงรายละเอียด แบรนด์ต่าง ๆ มีคำแนะนำต่าง ๆ มากมายสำหรับระยะเวลาที่เราควรปรุงฮอทด็อก แต่ฉันพบว่ามันดีที่สุดในการทำอาหารให้พวกเขาเป็นเวลา 4 นาที 27 วินาที (อย่าถาม) ฉันได้ลองตัวนับที่แตกต่างกันหลายครั้ง แต่พบว่าโปรแกรมที่แสดงผลอย่างต่อเนื่องเป็นวิธีที่ดีที่สุดในการดึงดูดความสนใจของฉัน งานของคุณ คุณต้องสร้างโปรแกรมที่จะส่งข้อความออกเป็นNot ready yetเวลา 4 นาที 27 วินาที หลังจากเวลานี้ผ่านไปแล้วคุณควรส่งออกEat your hot dogไปจนถึงเวลาสิ้นสุด กรุณาอย่ารับข้อมูลใด ๆ วิธีชนะ …
13 code-golf  date 

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