คำถามติดแท็ก permutations

การเรียงสับเปลี่ยนเป็นการเรียงลำดับรายการวัตถุบางรายการโดยเฉพาะ ปัญหาที่ติดแท็กด้วยการเปลี่ยนแปลงมักเกี่ยวข้องกับการค้นหาหรือสร้างการเรียงสับเปลี่ยน

29
ส่งแอนนาแกรม! ไม่มีนั่นไม่ใช่หนึ่งเดียว!
ให้รายการของสตริงที่ไม่ซ้ำกันซึ่งเป็นแอนนาแกรมของแต่ละรายการให้ส่งออกแอนนาแกรมของคำเหล่านั้นที่แตกต่างจากแต่ละคำในรายการ สตริงจะเป็นตัวอักษรและตัวเลขและรับประกันว่าจะเป็นแอนนาแกรมที่ถูกต้อง โปรแกรมหรือฟังก์ชั่นสามารถทำได้ แต่ไม่จำเป็นต้องเป็นแบบไม่กำหนดค่าความหมายที่กำหนดให้กับอินพุตเดียวกันการรันโค้ดหลาย ๆ ตัวสามารถสร้างเอาต์พุตที่แตกต่างกันได้ตราบใดที่เอาต์พุตที่เป็นไปได้ทั้งหมด กรณีทดสอบ [Input] -> Possible output ----------------- [ab] -> ba [aba, aab] -> baa [123, 132, 231, 312, 321] -> 213 [hq999, 9h9q9, 9qh99] -> 999hq [abcde123, ab3e1cd2, 321edbac, bcda1e23] -> ba213ecd

27
การเปลี่ยนสับเปลี่ยนบิตกลับ
เป้าหมายของคุณคือการสร้างฟังก์ชั่นหรือโปรแกรมที่จะย้อนกลับบิตในช่วงของจำนวนเต็มให้จำนวนเต็มn กล่าวอีกนัยหนึ่งคุณต้องการค้นหาการเปลี่ยนรูปบิตกลับรายการช่วง 2 nรายการซึ่งไม่มีดัชนี และนี่ก็เป็นลำดับ OEIS A030109 กระบวนการนี้มักใช้ในการคำนวณ Fast Fourier Transforms เช่นอัลกอริทึม Cooley-Tukey ในสถานที่สำหรับ FFT นอกจากนี้ยังมีความท้าทายสำหรับการคำนวณ FFT สำหรับลำดับที่ความยาวคือพลังของ 2 กระบวนการนี้กำหนดให้คุณทำซ้ำในช่วง [0, 2 n -1] และแปลงแต่ละค่าเป็นไบนารีและแปลงบิตในค่านั้น คุณจะได้รับการรักษาแต่ละค่าเป็นnจำนวน -digit ในฐาน 2 ซึ่งหมายถึงการกลับรายการจะเกิดขึ้นในหมู่สุดท้ายnบิต ตัวอย่างเช่นถ้าn = 3 [0, 1, 2, 3, 4, 5, 6, 7]ช่วงของจำนวนเต็มคือ เหล่านี้คือ i Regular Bit-Reversed j 0 000 000 0 …

5
ฟองวงเล็บ!
มีอยู่ไม่กี่คำถามในเว็บไซต์นี้เกี่ยวกับความสมดุลวงเล็บและตรวจสอบว่าวงเล็บมีความสมดุล ฉันเสนอเวลาที่จะใช้วงเล็บที่สมดุลเหล่านี้สำหรับบางสิ่ง! ในคณิตศาสตร์และการเขียนโปรแกรมวงเล็บเป็นเหมือนฟองสบู่การแยกทุกอย่างออกจากกันในรูปแบบภายนอกเพื่อให้สิ่งที่อยู่ภายในสามารถทำสิ่งต่าง ๆ ได้โดยสันติ อย่างไรก็ตามสตริงของวงเล็บเป็นหนึ่งมิติในขณะที่ฟองอากาศมักจะมีอย่างน้อยสองมิติ นั่นหมายความว่าฟองอากาศสามารถเคลื่อนที่ไปมาได้อย่างอิสระตราบใดที่พวกเขาไม่เคยสัมผัสกันหรือข้ามระหว่างด้านในและด้านนอกของฟองอื่น ๆ ท้าทาย การป้อนข้อมูลที่เป็นสตริงของวงเล็บตรงกันชนิดเดียวทั้งรอบ(), ตาราง[]หยิกหรือมุม{} <>มันขึ้นอยู่กับคุณว่าคุณต้องการให้โปรแกรมของคุณรับและโปรแกรมที่ยอมรับเฉพาะวงเล็บชนิดเดียวเท่านั้น (โบนัสจินตภาพหากโปรแกรมของคุณสามารถจัดการกับพวกเขาใด ๆ คะแนนโบนัสขนาดใหญ่ในจินตนาการถ้ามันสามารถจัดการกับพวกเขาทั้งหมดในการป้อนข้อมูลเดียวกัน.) การป้อนข้อมูลไม่สามารถมีอะไรระหว่างวงเล็บแม้จะอนุญาต whitespaces ต่อท้าย เอาต์พุตคือการจัดระเบียบใหม่ที่เป็นไปได้ทั้งหมด (ตามลำดับโดยพลการและรวมถึงอินพุตดั้งเดิม) ของวงเล็บเหล่านั้นที่ให้การกำหนดค่าแบบเดียวกันของฟองอากาศโดยไม่มีสองสตริงที่เหมือนกัน นั่นหมายความว่าเมื่อมีการป้อนข้อมูล()()เอาท์พุทก็เป็นเพียงแค่()()แม้ว่ามันจะมีสองฟองอากาศที่สามารถสลับตำแหน่งได้ สำหรับโบนัสจำนวนมหาศาลจำนวนนับไม่ถ้วน{}[]()นำไปสู่ผลลัพธ์ขององค์ประกอบ / สตริง / บรรทัด 6 รายการที่แตกต่างกัน การกำหนดค่าของฟองสองแบบคือ "เหมือนกัน" ถ้าคุณสามารถทำให้เข้าด้วยกันโดยการย้ายฟองรอบ ๆ โดยไม่ปล่อยให้ฟองใด ๆ ผ่านจากภายในอีกฟองหนึ่งไปยังด้านนอกหรือจากภายนอกสู่ภายใน หากคุณเปรียบวงเล็บที่ซ้อนกันกับต้นไม้ (คู่ที่ตรงกันแต่ละคู่เป็นหนึ่งโหนดและทุกคู่ที่ตรงกันภายในเป็นโหนดย่อยและแต่ละคู่ที่ตรงกันภายในนั้นมีโหนดย่อยของอีกครั้งและอื่น ๆ ) โดยที่โหนดย่อยของโหนดที่กำหนดใด ๆ จากนั้นการกำหนดค่าเดียวของบับเบิลคือแผนผังที่ไม่มีการเรียงลำดับโหนด รูปแบบเอาต์พุตที่สมเหตุสมผลใด ๆ จะทำเช่นส่งคืนรายการสตริงหรือรายการของอักขระเดี่ยวหรือสตริงเดี่ยวที่มีช่องว่างบางชนิดหรือพิมพ์ไปยังstdoutหรือstderrด้วยอักขระช่องว่างที่มองเห็นได้บางรูปแบบ (ขึ้นบรรทัดใหม่หรือช่องว่างทั่วไป) ระหว่าง การปรับโครงสร้างแต่ละครั้ง ช่องว่างต่อท้ายสำหรับแต่ละการจัดระเบียบใหม่และการติดตามและนำหน้ารายการบรรทัดใหม่ …

29
เรียงลำดับสตริงตามตัวอักษร
งาน เป้าหมายของคุณถ้าคุณเลือกที่จะยอมรับมันก็คือการเขียนโปรแกรมที่รับสายอักขระ (หรืออาเรย์ของอักขระ) ออกผลลัพธ์ที่เป็นไปได้ของการเรียงลำดับตัวอักษรในสตริงนั้น ฉันจู้จี้จุกจิกกับผลลัพธ์ของฉันดังนั้นจึงควรเรียงลำดับตัวอักษรโดยไม่มีการซ้ำซ้อน ตัวอย่าง: การป้อนข้อมูล: buzz เอาท์พุท: buzz bzuz bzzu ubzz uzbz uzzb zbuz zbzu zubz zuzb zzbu zzub กฎระเบียบ นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดชนะ ช่องว่างต่อท้ายในแต่ละ / บรรทัดใด ๆ ก็โอเค บรรทัดใหม่เดียวหลังจากบรรทัดสุดท้ายได้รับอนุญาต (แต่ไม่เกิน)

30
Invali Inval ไม่ถูกต้อง
ความคิดนี้ขึ้นอยู่กับข้อความแชทของ @ TùxCräftîñgอย่างหลวม ๆ ดูลำดับตัวอย่างด้านล่าง: INVALID0, INVALID1, INVALID2 INVALID3, INVALID4...INVALID9 หลังจากINVALID9นั้นจะเป็นเช่นนี้: INVALI0, INVALI1, INVALI2, INVALI3...INVALI9 และหลังจากINVALI9นั้นก็เป็นเช่นนี้: INVAL0, INVAL1, INVAL2, INVAL3...INVAL9 หลังจากนั้นINVAL9ก็เป็นเช่นนี้: INVA0, INVA1, INVA2, INVA3...INVA9 สังเกตว่าเราจะลบจดหมายออกจากคำINVALIDในแต่ละครั้ง คุณจะทำซ้ำจนกว่าจะถึงตัวอักษรเดียวนั่นคือตัวอักษรI: I0, I1, I2, I3, I4...I9 ตอนนี้งานของคุณคือการรับอินพุตของคำและสร้างลำดับจากมันเหมือนตัวอย่างข้างต้น รหัสของคุณจะต้องทำงานด้วยตัวอักษรเดียวและในกรณีนั้นลำดับผลลัพธ์จะสั้นลง คุณสามารถเลือกรูปแบบอินพุตและเอาต์พุตใดก็ได้ที่คุณต้องการ (มีหรือไม่มีตัวคั่นตามที่คุณต้องการ) แต่คุณต้องระบุว่าคุณเลือกรูปแบบใด ลำดับจะต้องอยู่ในลำดับที่ระบุแน่นอน รหัสที่สั้นที่สุดในหน่วยไบต์ซึ่งจะทำสิ่งที่ท้าทายให้สำเร็จชนะการท้าทาย ลำดับเต็มในตัวอย่างข้างต้น: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, …

13
Superpermutations
บทนำ คุณเป็นอาชญากรที่ได้ขโมยแผนลับจาก Dejavu เทคโนโลยีใหม่ คุณแอบเข้าไปในกำแพงด้านหลัง แต่หาประตูที่ต้องใช้หมุดเปิด คุณรับรู้ถึงการล็อคและรู้ว่ามันใช้เวลา 5 พินโดยใช้ตัวเลขทั้งหมดจาก 0 ถึง 4 หลังจากป้อนแต่ละหลักแล้วการล็อคจะตรวจสอบ 5 หลักสุดท้ายที่ป้อนและเปิดหากรหัสถูกต้อง คุณต้องผ่านล็อคนี้และรวดเร็ว ผลสรุปโดยย่อ การเปลี่ยนแปลงคือการรวมกันที่เป็นไปได้ทั้งหมดของชุดของตัวเลข ตัวอย่างเช่นพีชคณิตทั้งหมดของตัวเลข 0, 1, 2 คือ: 012, 021, 102, 120, 201 และ 210 ถ้าเราต่อพีชคณิตทั้งหมดนี้เข้าด้วยกันเราจะได้ผลลัพธ์ที่ยอดเยี่ยม: 012021102120201210 superpermutation นี้มีพีชคณิตทั้งหมดเป็น 0, 1, 2 แต่เป็นไปได้ที่จะทำให้สั้นกว่านี้ ฉันจะข้ามไปนิดหน่อยที่นี่ แต่ superpermutation ที่สั้นที่สุดของตัวเลขเหล่านี้คือ: 012010210 สำหรับจุดประสงค์และจุดประสงค์ของเรานี่คือสตริงหลักที่สั้นที่สุดที่มีการเรียงสับเปลี่ยนที่เป็นไปได้ทั้งหมดของตัวเลขเหล่านั้นนั่นคือ superpermutation งาน งานของคุณนั้นยากกว่าตัวอย่าง superpermutation ดังที่แสดงไว้ด้านบนเนื่องจากคุณมีตัวเลขอีกสองหลักที่ต้องกังวล - …

11
Anagram Quines (ด้ายตำรวจ)
นี่คือตำรวจและโจรที่ท้าทายเธรดของโจรสามารถพบได้ที่นี่ ความท้าทายของคุณคือการเขียนโปรแกรมที่ส่งออกแอนนาแกรมของซอร์สโค้ด แต่ไม่ใช่ซอร์สโค้ดตัวเอง ตัวอย่างเช่นโปรแกรม Python ดังต่อไปนี้ print`'print*2``'*2` พิมพ์ 'print*2``print*2``' ซึ่งมีอักขระเหมือนกันทั้งหมดกับแหล่งต้นฉบับ แต่ในลำดับที่แตกต่างกัน เมื่อคุณพบโปรแกรมดังกล่าวแล้วให้รวมเอาท์พุทของโปรแกรมเป็นคำตอบที่ไม่ใช้โปรแกรมที่สร้างขึ้นมา ตามที่คุณอาจเดาได้โจรจะพยายามค้นหาโปรแกรมที่คุณซ่อนไว้หรือโปรแกรมที่ตรงตามข้อกำหนด เป้าหมายของคุณคือการทำให้โปรแกรมสั้นที่สุดที่โจรไม่สามารถถอดรหัสได้ กฎระเบียบ เช่นเดียวกับที่สุดตำรวจและโจรท้าทายถ้ายังคงเป็นคำตอบของคุณ uncracked สำหรับสัปดาห์คุณอาจจะเพิ่มการแก้ปัญหาที่มีจุดมุ่งหมายเพื่อคำตอบของคุณและทำเครื่องหมายเป็นที่ปลอดภัย เมื่อปลอดภัยแล้วคำตอบก็ไม่สามารถถอดรหัสได้โดยโจร คุณไม่จำเป็นต้องรวมภาษาของโซลูชันที่ต้องการอย่างไรก็ตามหากคุณไม่รวมถึงโจรภาษาสามารถถอดรหัสในภาษาใด ๆ ที่มีความท้าทายก่อนที่จะถึงแม้ว่าคุณจะระบุภาษาพวกเขาอาจแตกในที่เดียวเท่านั้น ใช้กฎมาตรฐานสำหรับ Quines

21
Mirror, Mirror ในรหัส
ภาษาโปรแกรมสองมิติมักจะมีคำสั่งมิรเรอร์เช่น/และ\เปลี่ยนเส้นทางตัวชี้คำสั่งในตาราง: >>>>\ v v <<<</ ในความท้าทายนี้คุณจะได้รับทิศทางขาเข้าและกระจกเงาและคุณต้องกำหนดทิศทางขาออก กฎระเบียบ ทิศทางเข้ามาจะได้รับเป็นหนึ่งในตัวละครNESWและกระจกจะได้รับเป็นอย่างใดอย่างหนึ่งหรือ/ \คุณอาจได้รับสิ่งเหล่านี้ในลำดับใดก็ได้ คุณต้องใช้ตัวอักษรตัวพิมพ์ใหญ่ คุณสามารถป้อนข้อมูลในรูปแบบที่สะดวกรวมถึงสตริงอักขระสองตัวสตริงที่ใช้ตัวคั่นระหว่างอักขระอักขระคู่ในรายการหรือแม้แต่สตริงเดี่ยว หากคุณใช้สตริงที่มีตัวคั่นตัวคั่นจะไม่สามารถใช้อักขระใด ๆNWSE\/ได้ เอาต์พุตควรเป็นอักขระจากNESWหรือสตริงอักขระเดี่ยว คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ มีเพียง 8 อินพุตที่เป็นไปได้ที่คุณต้องจัดการดังนั้นจึงไม่มีข้อแก้ตัวใด ๆ ที่จะไม่ทดสอบโค้ดของคุณกับพวกเขาทั้งหมด: N / --> W N \ --> E E / --> S E \ --> N S / --> E S \ …

8
หลักการการเปลี่ยนแปลงของ Pigeon-hole
ในเกมซูโดกุผู้เล่นหลายคนชอบที่จะ "จับ" ตัวเลขที่เป็นไปได้ที่สามารถไปในแต่ละตาราง: แถวด้านบนสามารถแสดงเป็นอาร์เรย์ได้: [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [1,2,4], [8]] ตอนนี้สังเกตเห็นว่ามีเพียง 1 แห่งที่4สามารถไปได้ สิ่งนี้ช่วยให้เราลดความซับซ้อนของรายการด้านบนเพื่อ [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [4], [8]] เป้าหมายของการท้าทายนี้คือการใช้รายการของตัวเลขที่เป็นไปได้ในการเปลี่ยนแปลงและได้ข้อสรุปที่เป็นไปได้ที่จะถูกกำจัด เป็นอีกตัวอย่างหนึ่งสมมติว่าคุณมีความเป็นไปได้หลายอย่างดังต่อไปนี้: [[0,1,3], [0,2,3], [1,2], [1,2]] สองสถานที่สุดท้ายจะต้องเต็มไปด้วย 1 และ 2 ดังนั้นเราสามารถลบความเป็นไปได้เหล่านั้นออกจากสององค์ประกอบแรกในอาร์เรย์: [[0,3], [0,3], [1,2], [1,2]] เป็นอีกตัวอย่าง: [[0,1,2,3], [0,2], [0,2], [0,2]] มันเป็นไปไม่ได้ที่จะสร้างการเปลี่ยนแปลงจากความเป็นไปได้ดังกล่าวข้างต้นเป็นมีเพียง 1 สถานที่สำหรับทั้งสอง1และ3และคุณจะต้องการที่จะกลับอาร์เรย์ที่ว่างเปล่า คุณต้องป้อนรายการความเป็นไปได้และส่งออกความเป็นไปได้ที่เหลืออยู่หลังจากกำจัดจำนวนความเป็นไปได้สูงสุดแล้ว …

24
Combinatorics: คำนวณค่า Subfactorial
ตัวเลขsubfactorialหรือrencontres ( A000166 ) เป็นลำดับของตัวเลขที่คล้ายกับตัวเลข factorial ซึ่งแสดงใน combinatorics ของพีชคณิต โดยเฉพาะอย่างยิ่งที่subfactorial ลำดับที่n ! nให้จำนวนderangementsของชุดองค์ประกอบn Derangement เป็นการเปลี่ยนแปลงที่ไม่มีองค์ประกอบใดอยู่ในตำแหน่งเดียวกัน สามารถกำหนด subfactorial ผ่านความสัมพันธ์การเกิดซ้ำดังต่อไปนี้: !n = (n-1) (!(n-1) + !(n-2)) ในความเป็นจริงความสัมพันธ์ที่เกิดซ้ำกันนั้นมีไว้สำหรับปัจจัย แต่สำหรับ subfactorial เราเริ่มต้นจาก: !0 = 1 !1 = 0 (สำหรับแฟคทอเรียลที่เรามีแน่นอน1! = 1 ) งานของคุณคือการคำนวณ! nให้n กฎระเบียบ เช่นเดียวกับแฟคทอเรียล subfactorial นั้นเติบโตอย่างรวดเร็ว มันเป็นเรื่องปกติถ้าโปรแกรมของคุณสามารถจัดการปัจจัยการผลิตnเช่นนั้น! nสามารถแสดงโดยแบ่งตามชนิดจำนวนพื้นเมืองภาษาของคุณ อย่างไรก็ตามอัลกอริทึมของคุณจะต้องทำงานในทฤษฎีสำหรับnเอง นั่นหมายความว่าคุณอาจสันนิษฐานได้ว่าผลลัพธ์ที่สมบูรณ์และค่ากลางสามารถแสดงด้วยภาษาของคุณได้อย่างแม่นยำ โปรดทราบว่าสิ่งนี้จะไม่รวมค่าคงที่eหากเก็บหรือคำนวณด้วยความแม่นยำแน่นอน ผลลัพธ์ต้องเป็นจำนวนเต็มที่แน่นอน …

3
ใช้การจัดช่องไฟแบบง่าย
บทนำ การจัดช่องไฟหมายถึงการปรับระยะห่างระหว่างตัวอักษรของข้อความ ยกตัวอย่างพิจารณาคำที่Topเขียนด้วยร่ายมนตร์ต่อไปนี้สามอัน: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... เราสามารถเติมช่องว่างระหว่างร่ายมนตร์ด้วยจุดแล้วเติมลงไปได้ แต่ช่องว่างก็ดูกว้างเกินไป แต่เราเลื่อนร่ายมนตร์ไปทางซ้ายเพื่อให้พวกมันสัมผัสเกือบ: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... มันดูดีขึ้นมาก! หมายเหตุวิธีบาร์ของด้านบนของเส้นขอบด้านซ้ายของT oในการท้าทายนี้งานของคุณคือการใช้โปรแกรมการจัดช่องไฟอย่างง่ายสำหรับร่ายมนตร์รูปสี่เหลี่ยมผืนผ้าดังกล่าว กระบวนการจัดช่องไฟ พิจารณาสองสี่เหลี่ยม 2D อาร์เรย์ของตัวอักษร.และ#รูปทรงเดียวกัน ในขั้นตอนการจัดช่องไฟอย่างง่ายของเราอันดับแรกเราวางอาร์เรย์แบบเรียงต่อกันโดยมีคอลัมน์หนึ่งคอลัมน์.อยู่ระหว่างกัน จากนั้นเราย้ายแต่ละรายการ#ในอาเรย์ขวาหนึ่งก้าวไปทางซ้ายจนกระทั่ง#อาเรย์ซ้ายและขวาบางอันอยู่ติดกันแบบมุมฉากหรือแนวทแยงมุม ผลลัพธ์ของการจัดช่องไฟเป็นขั้นตอนก่อนที่เราจะแนะนำ#s ที่อยู่ติดกัน งานของคุณคือการใช้กระบวนการนี้ …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
ตีกอล์ฟแบบแอนนาแกรม
ในคำถามนี้ฉันขอให้คุณเดา anagram quine ตามผลลัพธ์ อย่างไรก็ตามดูเหมือนว่าเรายังไม่มีคำถามที่ถามคำถามเกี่ยวกับแอนนาแกรมตีกอล์ฟ ดังนั้นงานของคุณคือทำให้แอนนาแกรมสั้นที่สุดที่คุณสามารถทำได้ แอนนาแกรมควินคืออะไร แอนนาแกรมควินเป็นโปรแกรมที่ไม่ว่างที่พิมพ์แอนนาแกรมของซอร์สโค้ดนอกเหนือจากซอร์สดั้งเดิม นี่คือตัวอย่างของ anagram quine ใน Python 2: print`'`print`*2'*2` คุณไม่ควรอ่านแหล่งที่มาของคุณเองสำหรับความท้าทายนี้

20
เลียนแบบการสั่งซื้อ
กำหนดตัวเลขสองรายการแหล่งที่มาและรูปแบบจัดลำดับแหล่งใหม่เพื่อให้ตรงกับการเรียงลำดับสัมพัทธ์ของรูปแบบ รายการสองรายการของแหล่งที่มาของการเรียงลำดับควรเปรียบเทียบวิธีเดียวกันกับรายการที่ตำแหน่งเดียวกันของรูปแบบ ตัวอย่างเช่นการป้อนข้อมูล s = [-5, 9, 4, 13, 11, -6, 0] p = [7, -4, 1, -8, 4, -3, 12] ควรสร้างผลลัพธ์ [11, -5, 4, -6, 9, 0, 13] การเปรียบเทียบตำแหน่งแรกและตำแหน่งสุดท้ายผลลัพธ์มี11<13ซึ่งตรงกับ7<12ในรูปแบบ อินพุต:รายการจำนวนเต็มสองรายการที่ไม่มีความยาวเท่ากัน แต่ละรายการจะไม่มีการทำซ้ำ ขึ้นอยู่กับคุณว่าจะให้แหล่งที่มาหรือรูปแบบก่อน เอาท์พุท:รายการที่จัดเรียงหมายเลขต้นฉบับใหม่เพื่อให้มีการเรียงลำดับสัมพัทธ์เหมือนกับหมายเลขรูปแบบ ลีดเดอร์บอร์ด: แสดงตัวอย่างรหัส var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/62587/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return …

23
เข้ารหัส - สลับ - ถอดรหัส
ท้าทาย งานของคุณคือการเข้ารหัสจำนวนเต็มเป็นสตริงของอักขระ ASCIIจากนั้นถอดรหัสสำเร็จหลังจากสตริงดังกล่าวได้รับการสับแบบสุ่ม คุณจะเขียนสองโปรแกรม / ฟังก์ชั่นซึ่งจะถูกเรียกว่าเข้ารหัสและถอดรหัส Encoder การป้อนข้อมูล:จำนวนเต็มnnnในช่วง[ 0 , 2]วันที่ 31- 1 ][0,2วันที่ 31-1][0,2^{31}-1] ] เอาต์พุต:สตริงsssของอักขระ ASCII (ไม่จำเป็นต้องพิมพ์ได้) ถอดรหัส การป้อนข้อมูล:สุ่มการเปลี่ยนแปลงs's's'ของสตริงssss เอาท์พุท:จำนวนเต็มnnnn เกณฑ์การให้คะแนน ให้เป็นความยาวสูงสุดของsข้ามค่าที่เป็นไปได้ทั้งหมดของn ถ้าตัวเข้ารหัสทำหน้าที่ไม่ได้กำหนดไว้ล่วงหน้า (ซึ่งได้รับอนุญาตให้ดูด้านล่าง) จากนั้นAจะเป็นความยาวสูงสุดของsที่อาจเกิดขึ้น (อาจ∞ )AAAsssnnnAAAsss∞∞\infty ให้LELEL_Eเป็นความยาวของตัวเข้ารหัสในหน่วยไบต์และLDLDL_Dคือความยาวของตัวถอดรหัสในหน่วยไบต์ แล้วคะแนนของคุณเป็น⋅ ( L E + L D )A ⋅ ( LE+ LD)A⋅(LE+LD)A\cdot(L_E+L_D) ชัยชนะที่ได้รับรางวัลในการยื่นคะแนนต่ำสุด เวลาที่ จำกัด มีข้อจำกัดเกี่ยวกับเวลาในการดำเนินการของEncoderและDecoderสำหรับการทดสอบครั้งเดียว (เช่นค่าเดียวคือnnn ) เป้าหมายคือเพื่อหลีกเลี่ยงวิธีการแก้ปัญหาที่พบว่ากำลังดุร้ายเข้ารหัสโดยการระบุลำดับทั้งหมดด้วยคุณสมบัติบางอย่าง หากวิธีการแก้ปัญหาของคุณทำอะไรที่ฉลาดกว่านั้นก็น่าจะพอดีกับข้อ …

26
ค้นหาอันดับของ Word
คำนิยาม อันดับของคำถูกกำหนดให้เป็นตำแหน่งของคำเมื่อการเรียงสับเปลี่ยน (หรือการจัดเรียง) ที่เป็นไปได้ทั้งหมดของตัวอักษรถูกจัดเรียงตามลำดับตัวอักษรเช่นในพจนานุกรมไม่ว่าคำนั้นจะมีความหมายหรือไม่ก็ตาม ให้เราพิจารณาสองคำนี้ - "สีน้ำเงิน" และ "เห็น" ก่อนอื่นเราจะเขียนตัวอักษรของคำเหล่านี้ตามลำดับตัวอักษร: "blue": "belu","beul","bleu","blue","buel","bule","eblu","ebul","elub","elbu","eubl", "eulb","lbeu","lbue","lebu","leub","lube","lueb","ubel","uble","uebl","uelb", "ulbe","uleb" "seen": "eens","eesn","enes","ense","esen","esne","nees","nese","nsee","seen", "sene","snee" ทีนี้ลองดูจากทางซ้ายและค้นหาตำแหน่งของคำที่เราต้องการ เราเห็นว่าคำว่า "สีน้ำเงิน" อยู่ที่ตำแหน่งที่ 4 และ "เห็น" อยู่ที่ตำแหน่งที่ 10 ดังนั้นอันดับของคำว่า "สีน้ำเงิน" คือ 4 และของ "เห็น" คือ 10 นี่คือวิธีทั่วไปในการคำนวณอันดับของคำ ตรวจสอบให้แน่ใจว่าคุณเริ่มนับจาก 1 เท่านั้น งาน งานของคุณคือการเขียนรหัสเพื่อใช้คำใด ๆ ที่เป็นอินพุตและแสดงอันดับของมัน อันดับควรเป็นผลลัพธ์ ระวังคำที่มีตัวอักษรซ้ำ ๆ ตัวอย่าง "prime" -> 94 "super" …

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