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

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

19
พิมพ์จำนวนเฉพาะที่ขาดหายไป
งาน เขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อผ่านการป้อนข้อมูลตัวเลขxพิมพ์หรือผลตอบแทนเฉพาะใต้รากที่สองของx1xที่ไม่ได้เป็นปัจจัย ตัวอย่าง อนุญาตf(x)เป็นฟังก์ชันที่เรียกว่า: >>> f(4) [] >>> f(5) [2] >>> f(20) [3] >>> f(60) [7] >>> f(100) [3, 7] >>> f(10000) [3, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] กฎโบนัส คุณสามารถใช้บิลด์อินที่ภาษาของคุณมีให้ โปรแกรมของคุณต้องรองรับxอินพุตที่สูงที่สุดเท่าที่ขอบเขตสูงสุดที่กำหนดโดยภาษาของคุณ 1xใช้รากที่เป็นช่วงเวลาเพียงด้านล่างรากที่จริงสามารถมีส่วนร่วมภายในปัจจัยของ หากไม่มีข้อ …

16
ลำดับของ Kuznetsov
ลำดับของ Kuznetsov (I made the name up, don't bother with Wikipedia or Google) ได้รับหมายเลขใด ๆn > 0ให้เป็นตัวแทนของการย้อนกลับของตัวเลขr nทำซ้ำจนกว่าผลลัพธ์สุดท้ายจะเป็นศูนย์ส่งผ่านผลลัพธ์ของการวนซ้ำแต่ละครั้งกลับสู่ฟังก์ชันโดยใช้การเรียกซ้ำหรือวิธีการที่คุณเลือกโดยดำเนินการด้านล่าง: ถ้าการที่ย้ำผลที่ได้คือr > nr % n ถ้าการที่ย้ำผลที่ได้คือn > rn % r หากn % r = 0หรือr % n = 0คุณยุติการทำซ้ำ รับผลกลางของการกระทำแต่ละครั้งและเก็บไว้ในอาร์เรย์สำหรับคำตอบสุดท้าย หมายเลขเริ่มต้นnไม่ได้เป็นส่วนหนึ่งของลำดับหรือเป็น0; ตัวอย่างควรทำให้ทุกอย่างชัดเจนขึ้น n=32452345ช่วยให้ใช้เวลาเดินผ่านตัวอย่างเช่นในกรณีที่ 54325423 % 32452345 = 21873078 # r > n, …

16
บวกกับเวลาคนและเก้า
ใช้ความสัมพันธ์ที่เกิดซ้ำนี้เป็นฟังก์ชันหรือโปรแกรมที่อินพุตและเอาต์พุตเป็นจำนวนเต็มที่ไม่เป็นลบ: F (0) = 0 F (N) = จำนวนเต็มที่น้อยที่สุดที่มากกว่า F (N-1) เช่นผลรวมและ / หรือผลิตภัณฑ์ของตัวเลขฐาน 10 คือ N N คืออินพุตของโปรแกรมของคุณและ F (N) เอาต์พุต เพื่อให้ชัดเจนผลรวมของตัวเลขในจำนวนเช่น 913 คือ 9 + 1 + 3 = 13 ผลิตภัณฑ์นี้คือ 9 × 1 × 3 = 27 สำหรับตัวเลขหลักเดียวผลรวมและผลิตภัณฑ์จะเป็นหมายเลขเดียวกัน ตัวเลขที่มี 0 แน่นอนมีผลิตภัณฑ์ 0 ผลลัพธ์ผ่าน F (70) คือ: N …

9
meta-polyglot Quine
ในช่วงเวลาของฉันใน PPCG ฉันได้สังเกตเห็นว่าปัญหา quine และ polyglot ค่อนข้างเป็นที่นิยม นอกจากนี้ meta-solution สำหรับปัญหากล่าวคือสคริปต์ที่สร้างโปรแกรมซึ่งเป็นวิธีแก้ปัญหามักจะได้รับการตอบรับเชิงบวกจากชุมชนเป็นจำนวนมาก ดังนั้นฉันได้สร้างความท้าทายนี้ซึ่งใช้ความคิดทั้งสามนี้ งานของคุณผู้อ่านและผู้ที่ชื่นชอบcode-golfคือสร้างสคริปต์ให้สั้นที่สุดเท่าที่จะทำได้ในสองภาษา A และ B เพื่อสร้าง quines สำหรับ A และ B เมื่อโปรแกรมของคุณทำงานในภาษา A ควรสร้าง โปรแกรมที่เป็น quine ในภาษา B แต่ไม่ใช่ในภาษา Aและในทางกลับกัน ภาษา A และ B สามารถเป็นเวอร์ชันที่แตกต่างกันของภาษาเดียวกันโดยที่คุณต้องระลึกไว้เสมอว่าคำสั่งที่สร้างขึ้นควรใช้งานได้ในเวอร์ชันใดเวอร์ชันหนึ่งเท่านั้น เก็บไว้ในใจว่าช่องโหว่มาตรฐานควรพิจารณาปิดและมีเพียงquines ที่เหมาะสมจะได้รับอนุญาต ขอให้โชคดีตัวละครน้อยที่สุดชนะ!

6
เศษส่วนของปราสาท Minecraft
ค้นพบวิดีโอ youtubeจากผู้ใช้ PPCG คน ... คุณท้าทายคือการใช้ ASCII- ศิลปะวาดกำแพงปราสาท Minecraft ของ Andesite และ Diorite รูปร่างของผนังเป็นชุดต้นเสียง สำหรับการอ้างอิงชุดคันทอร์ทำโดยการทำซ้ำNครั้งต่อไปนี้: สามขั้นตอนปัจจุบัน แทนที่ตรงกลางด้วยช่องว่าง เพิ่มบรรทัดเต็มด้านล่าง สิ่งนี้จะสร้างสิ่งต่อไปนี้สำหรับสี่ขั้นตอนแรก: * * * *** * * * * *** *** ********* * * * * * * * * *** *** *** *** ********* ********* *************************** อย่างไรก็ตามความท้าทายของคุณไม่ง่ายอย่างนั้น คุณเห็นไหมว่าหลังจากที่ชุดต้นเสียงใหญ่ขึ้นจริง ๆ แล้วมันน่าเบื่อมากที่ได้ดูตัวละครเดิมซ้ำแล้วซ้ำอีก ดังนั้นเรากำลังจะมีการเปลี่ยนแปลงว่าด้วยการซ้อนทับชุดสลับดอกจันและสัญญาณปอนด์* …

14
แปลคู่หมายเลขเป็นกีตาร์โน้ต
แผนภาพกีตาร์ fretboard มีลักษณะดังนี้: 0 1 2 3 4 5 6 7 8 9 10 11 12 <- Fret number (0 means it's open) |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E |-B--C--C#-D--D#-E--F--F#-G--G#-A--A#-B |-G--G#-A--A#-B--C--C#-D--D#-E--F--F#-G |-D--D#-E--F--F#-G--G#-A--A#-B--C--C#-D |-A--A#-B--C--C#-D--D#-E--F--F#-G--G#-A |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E ในขณะที่คุณสามารถดูสายแรก (จากด้านบน) Eเปิดเป็น Fทำให้ไม่สบายใจเป็นครั้งแรกในสายแรกเป็น Bทำให้ไม่สบายใจสี่สายที่สามคือ โปรดทราบว่าบันทึกแรกคือหงุดหงิด zeroth ไม่ใช่คนแรก string, fretนี้สามารถเขียนด้วยตัวเลขในรูปแบบ สตริงมีหมายเลขตั้งแต่ 1 ถึง 6 จากบนลงล่าง เฟร็ตมีหมายเลขตั้งแต่ 0 ถึง 12 จากซ้ายไปขวา ครั้งแรกจึงเป็นE …

16
ค้นหาคำที่เป็นคลื่น!
(หมายเหตุ: นี่คือการปั่นง่ายขึ้นของความท้าทายของฉันก่อนหน้าค้นหา Infinity คำ!ซึ่งเป็นสปินออกของความท้าทายก่อนหน้าอื่น ๆ ของฉันค้นหาหมุนคำ! :)) คำจำกัดความของคำหยัก : หากคุณเชื่อมต่อกับเส้นโค้งทุกตัวอักษรของWavy Wordบนตัวอักษร (AZ) คุณจะได้รับเส้นทางของคลื่นอย่างต่อเนื่องไปทางขวาหรือไปทางซ้ายและไม่เคยเปลี่ยนทิศทางเช่นในแผนภาพด้านล่าง หยักของ Wordสามารถ: การเพิ่มหากอักขระต่อเนื่องแต่ละตัวอยู่ทางขวา (ตัวอักษร) ของอักขระก่อนหน้า ลดลงถ้าอักขระต่อเนื่องแต่ละตัวอยู่ทางซ้าย (ตัวอักษร) ของอักขระก่อนหน้า การเชื่อมต่อที่สม่ำเสมอทั้งหมดจะต้องหยุดทำงานการเชื่อมต่อคี่ทั้งหมดต้องขึ้น คุณสามารถละเว้นตัวพิมพ์ใหญ่ / ตัวพิมพ์เล็กหรือพิจารณา / แปลงทั้งหมดเป็นตัวพิมพ์ใหญ่หรือทั้งหมดเป็นตัวพิมพ์เล็ก คำที่ป้อนเป็นอักขระในช่วงตัวอักษรของ AZ ไม่มีช่องว่างไม่มีเครื่องหมายวรรคตอนหรือสัญลักษณ์ หากคำที่มีตัวอักษรคู่เช่น "SPOON" คุณจะต้องยุบคู่เป็นหนึ่งตัว: "SPOON"> "SPON" (เพราะถ้าคุณไปจาก O ถึง O เป็นระยะทางศูนย์) หยักคำจะมีอย่างน้อย 3 ตัวอักษรที่แตกต่างกัน (แม้หลังจากที่คู่ยุบ) นี่คือตัวอย่างบางส่วน: งาน: เขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่จะนำคำจากอินพุตมาตรฐานและส่งออกจะถ้ามันเป็นหยักของ Wordหรือไม่และในกรณีที่เป็นบวกออกหากมีการเพิ่มหรือลดลง เอาท์พุทสามารถTrue/False/Null, 2/1/0, …
18 code-golf  string 

13
พาร์ทิชัน Goldbach
การคาดคะเนของ Goldbachระบุว่าจำนวนที่มากกว่าสองจะแสดงเป็นผลรวมของสองช่วง ตัวอย่างเช่น, 4 = 2 + 2 6 = 3 + 3 8 = 5 + 3 อย่างไรก็ตามเมื่อเราไปถึง 10 สิ่งที่น่าสนใจเกิดขึ้น สามารถเขียนเป็น 10 เท่านั้นไม่ได้ 5 + 5 แต่มันก็สามารถเขียนเป็น 7 + 3 ตั้งแต่วันที่ 10 สามารถแสดงเป็นผลรวมของสองจำนวนเฉพาะสองวิธีที่เราบอกว่า "Goldbach พาร์ทิชัน" ของ 210 หรือมากกว่าโดยทั่วไป พาร์ทิชัน Goldbach ของจำนวนคือจำนวนรวมของวิธีการเขียนn = p + qที่แตกต่างกันที่ไหนpและqเป็นช่วงเวลาและp >= q ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พบพาร์ติชัน Goldbach …

24
ความยาวนับถอยหลังแบบไบนารี
แรงบันดาลใจจากCount Down จากอินฟินิตี้ กำหนดจำนวนเต็มแบบไม่ลบNออกจำนวนการทำซ้ำของขั้นตอนต่อไปนี้ที่ใช้ไปถึง 0: แปลงNเป็นไบนารี ( 4812390 -> 10010010110111001100110) พลิกแต่ละบิต ( 10010010110111001100110 -> 01101101001000110011001) ตัดเลขศูนย์นำหน้า ( 01101101001000110011001 -> 1101101001000110011001) แปลงกลับเป็นทศนิยม ( 1101101001000110011001 -> 3576217) กฎระเบียบ อินพุตและเอาต์พุตอาจอยู่ในรูปแบบที่ไม่คลุมเครือและสอดคล้องกัน ข้อมูลที่ป้อนจะอยู่ในช่วงจำนวนเต็มที่สามารถแทนค่าได้สำหรับภาษาของคุณ (หากภาษาของคุณรองรับจำนวนเต็มขนาดใหญ่ที่ไม่มีกฎเกณฑ์ไม่มีข้อผูกมัด) กรณีทดสอบ 0 -> 0 1 -> 1 42 -> 6 97 -> 3 170 -> 8 255 -> 1 682 -> …

2
ก้าวต่อไปของคุณคืออะไร?
ความท้าทายนี้คือการเขียนฟังก์ชั่นมินิแมกซ์ในภาษาที่คุณเลือกเพื่อการส่งออกย้ายที่ดีที่สุดต่อไปในNxNเกมโอเอกซ์ที่ได้รับสถานะปัจจุบันคณะกรรมการ การป้อนข้อมูลที่คณะกรรมการสามารถได้รับการยอมรับว่าเป็นเมทริกซ์คอลเลกชัน 2Dหรือสิ่งอื่นใดที่ทำให้ความรู้สึกกับคุณ แต่ปฏิบัติตามกฎระเบียบ เอาท์พุทเป็นการเคลื่อนไหวที่ดีที่สุดในรอบต่อไปสำหรับผู้ที่เปิดอยู่ในขณะนี้โดยที่X ถูกพิจารณาว่าเริ่มต้นแล้ว พื้นหลังด่วนในขั้นตอนวิธีขั้นต่ำ แนวคิดพื้นฐานของอัลกอริธึมขั้นต่ำที่สุดคือการแจกแจงผลลัพธ์ที่เป็นไปได้ทั้งหมดในฐานะ DAG จากนั้นให้น้ำหนักด้วยประโยชน์ที่ลำดับของการเคลื่อนไหวมีต่อผู้เล่นโดยใช้การเคลื่อนไหวครั้งแรก ผลลัพธ์ที่เป็นไปได้ทั้งหมดจะถูก 'ส่ง' โดยการย้ายครั้งแรกและได้คะแนนตามผลรวมของผลลัพธ์ทั้งหมด (-1 สำหรับการสูญเสีย, 0 สำหรับการเสมอและ 1 สำหรับการชนะ) ในการใช้งานที่ต้องใช้ผู้เล่นหลายคนในการเล่นคุณระบุการเคลื่อนไหวที่เป็นไปได้ทั้งหมดโดยผู้เล่นและการตอบสนองที่เป็นไปได้ทั้งหมดโดยฝ่ายตรงข้ามเช่นกัน ตัวอย่างเช่นในเกมของ tic-tac-toe (หลังจากการย้ายครั้งแรก) มีการเคลื่อนไหวครั้งแรกที่เป็นไปได้ 8 อย่างที่คุณสามารถทำได้และพวกเขาทั้งหมดอาจดูเหมือนเท่ากันเมื่อวิเคราะห์เฉพาะเทิร์นถัดไป แต่ด้วยการวนซ้ำผ่านผลลัพธ์ที่เป็นไปได้ทั้งหมดสำหรับแต่ละชุดการเคลื่อนไหวที่เป็นไปได้ซึ่งส่งผลให้เกิดผลลัพธ์ขั้นสุดท้ายและรวมพวกเขาทั้งหมดไว้ สำหรับการสรุปมินิแม็กซ์อัลกอรึทึมในเชิงลึกและเชิงลึกยิ่งขึ้นในแง่ของโอเอกซ์อ่านเพิ่มเติมได้ที่นี่: http://neverstopbuilding.com/minimax XKCD (โซลูชั่น 3x3 เท่านั้น) กฎระเบียบ สามารถใช้ภาษาใดก็ได้ แต่ไม่อนุญาตให้ใช้ไลบรารีมินิแมกซ์ภายนอก เอาต์พุตสามารถเป็นพิกัด (0-n, 0-n) หรือตัวเลข (1-n * n) ที่บ่งบอกถึงการเคลื่อนที่ครั้งต่อไปที่ดีที่สุด นอกจากนี้คุณจะต้องสามารถระบุได้ว่าสถานการณ์กรณีที่ดีที่สุดคือการสูญเสียหรือเสมอกันแทนที่จะชนะ วิธีที่คุณแสดงถึงการสูญเสียหรือเสมอกันคือขึ้นอยู่กับคุณอีกครั้ง อินพุตต้องใช้ X และ O …

11
รหัสที่มา GO!
ลองใช้ความเป็นจริงยิ่งเพื่อล่าสัตว์เล็ก ๆ ที่ซ่อนอยู่ในซอร์สโค้ด เขียนโปรแกรม quine ที่ส่งออกซอร์สโค้ดของตัวเองยกเว้นตัวอักษร 5 ตัวติดต่อกันที่จะแก้ไขและจะแสดงPCG-mon :(^_^) 5 ตัวละครต่อเนื่องสามารถวางได้ทุกที่ในรหัสที่มา (จากตำแหน่ง0ไปn-5, nเป็นความยาวของรหัสที่มา) ซอร์สโค้ดต้องมีความยาวอย่างน้อย 5 ตัวอักษร สตริง(^_^)หรือสตริงย่อยที่มีความยาว> = 2 จะต้องไม่ปรากฏในซอร์สโค้ดเริ่มต้นเฉพาะในเอาต์พุต ตัวอย่างของการส่งที่ถูกต้อง: รหัสที่มาmy source codeออกmy (^_^)e code ไม่ถูกต้อง: รหัสที่มา(^_^) copy;ออก(^_^) (^_^) เกณฑ์การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

16
ความน่าจะเป็นของการรวมกันของเหตุการณ์ที่กำหนด
กำหนดลำดับของเหตุการณ์ที่มีความน่าจะเป็นระหว่าง 0.0 ถึง 1.0 ให้สร้างและรับความน่าจะเป็นของชุดค่าผสมแต่ละชุดที่เกิดขึ้น คุณสามารถสันนิษฐานได้ว่ามีการจัดลำดับของตัวเลขในภาษาที่คุณเลือก นี่คือตัวอย่าง; คุณอาจเข้าใจว่าความยาวของการรวมกันของลำดับนั้นเหมาะสมกับหน่วยความจำ: { 0.55, 0.67, 0.13 } โปรแกรมจะพิมพ์แต่ละชุดค่าผสมและความน่าจะเป็นที่เกี่ยวข้องของลำดับที่เกิดขึ้น 1 จะแสดงว่าเหตุการณ์ในดัชนีนั้นของลำดับการป้อนข้อมูลที่เกิดขึ้นและ 0 จะแสดงว่าเหตุการณ์นั้นไม่ได้เกิดขึ้น ผลลัพธ์ที่ต้องการอยู่ด้านล่าง (ฉันไม่สนใจเกี่ยวกับการพิมพ์งานนั่นเป็นเพียงข้อมูลวัตถุประสงค์ของอัลกอริทึม): [0,0,0] = (1 - 0.55) * (1-0.67) * (1-0.13) = 0.129195 [0,0,1] = (1 - 0.55) * (1-0.67) * (0.13) = 0.019305 [0,1,0] = (1 - 0.55) * (0.67) * …

19
คำนวณฟังก์ชัน Mertens
รับจำนวนเต็มบวกnคำนวณค่าของฟังก์ชัน Mertens M ( n ) โดยที่ และμ ( k ) คือฟังก์ชั่นMöbiusโดยที่μ ( k ) = 1 ถ้าkมีจำนวนเฉพาะของปัจจัยสำคัญที่แตกต่างกัน -1 ถ้าkมีจำนวนเฉพาะของปัจจัยสำคัญที่แตกต่างกันและ 0 ถ้าปัจจัยสำคัญไม่ชัดเจน นี่คือcode-golfดังนั้นสร้างรหัสที่สั้นที่สุดสำหรับฟังก์ชันหรือโปรแกรมที่คำนวณฟังก์ชัน Mertens สำหรับจำนวนเต็มอินพุตn > 0 นี่คือลำดับ OEIS A002321 กรณีทดสอบ n M(n) 1 1 2 0 3 -1 4 -1 5 -2 6 -1 7 -2 8 -2 9 …

11
ทำลอการิทึมอัตโนมัติสุด
ป.ร. ให้ไว้เป็นจำนวนเต็มบวกnและหมายเลขที่n -th tetrationของถูกกำหนดให้เป็น^ ( ^ ( ^ ( ... ^ ))) ที่^หมายถึงการยกกำลัง (หรือพลังงาน) และการแสดงออกมี จำนวนว่าnครั้ง กล่าวอีกนัยหนึ่งการทำซ้ำก็คือการยกกำลังซ้ำที่เชื่อมโยงกันอย่างถูกต้อง สำหรับn = 4 และa = 1.6 การกรองคือ 1.6 ^ (1.6 ^ (1.6 ^ 1.6)) ≈ 3.5743 ฟังก์ชั่นผกผันของ tetration ด้วยความเคารพnเป็นซุปเปอร์ลอการิทึม ในตัวอย่างก่อนหน้านี้ 4 เป็นลอการิทึม super ของ 3.5743 กับ "super-base" 1.6 ความท้าทาย ป.ร. ให้ไว้เป็นจำนวนเต็มบวกnค้นหาxดังกล่าวที่nเป็นซุปเปอร์ลอการิทึมของตัวเองในซุปเปอร์ฐานx นั่นคือหาxเช่นว่าx ^ …
18 code-golf  math  number 

8
เรือกวาดทุ่นระเบิดในที่ทำงาน
ทุกคนรู้เกมเรือกวาดทุ่นระเบิดเก่าที่มาพร้อมกับ Windows XP มันเป็นกริดเรียบง่ายที่มีเมทริกซ์ 9x9 ของเซลล์ที่มีตัวเลข (ระบุจำนวนเหมืองที่อยู่ติดกับมัน) หรือเหมือง ความท้าทายคือการสร้างกริด 9x9 แบบสุ่มโดยมี 10 ระเบิดให้กับเมล็ดจำนวนเต็มใด ๆ (ขึ้นอยู่กับสิ่งที่เครื่องที่ใหญ่ที่สุดของภาษา / ของคุณ) กับจุดบราวนี่ถ้าคุณใช้ PRNG ด้วยตัวคุณเอง ตัวอย่างเอาต์พุต: เซลล์มีตัวเลข 0-8 หรือ * สำหรับเหมือง *101*1000 110111000 123210000 1***10000 123210011 00000002* 00000114* 000112*3* 0001*2121 โค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ .. กฎมาตรฐาน ฯลฯ ฯลฯ

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