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

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

1
ข่าวร้ายมีคน
ในตอนทุรานักโทษแห่ง Bendaสมาชิกของร่างกายแลกเปลี่ยนลูกเรือกับแต่ละอื่น ๆ ด้วยการจับคู่ที่ไม่ร่างกายสามารถมีจิตใจของพวกเขาสลับมากกว่าหนึ่งครั้ง ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับคอลเลกชั่นสว็อป - จิตใจที่ถูกต้องที่เกิดขึ้นแล้วและส่งชุดสว็อปตามกฎหมายที่จะนำจิตใจแต่ละดวงกลับคืนสู่ร่างกายดั้งเดิม ตัวระบุสำหรับคอลเลกชันของร่างกายและจิตใจเหล่านี้จะต้องเป็นสตริงซึ่งจะไม่ขึ้นบรรทัดใหม่ คุณสามารถเพิ่มผู้คนที่ไม่เคยมีการสลับไปยังกลุ่มอินพุทได้ถึงสองคน (ตั้งชื่ออย่างชัดเจน) (พิสูจน์ได้ว่าคุณต้องการร่างกายเพิ่มได้เพียง 2 ตัวเท่านั้น)อย่างไรก็ตามคุณต้องเพิ่มจำนวนคนขั้นต่ำที่จำเป็นในการแก้ปัญหา การป้อนข้อมูลและการส่งออกอาจมีรูปแบบที่ชัดเจนใด ๆ แต่ไม่มีข้อมูลเพิ่มเติมสามารถเก็บไว้ในทั้ง คุณอาจคิดว่ามันถูกต้องเสมอ นี่คือรหัสกอล์ฟดังนั้นผู้ชนะคือการส่งที่มีไบต์น้อยที่สุด ตัวอย่าง [('A','B'),('C','D')] -> [('A','C'),('B','D'),('A','D'),('B','C')] ['A','B'] -> ['C','D','A','C','B','D','A','D','B','C'] [('A','B'),('C','D'),('A','C'),('A','D')] -> [('B', 'E'), ('A', 'E'), ('C', 'B'), ('C', 'E')] "A\nB\nC\nD\n" -> "A\nC\nB\nD\nA\nD\nB\nC\n" หนึ่งจากการแสดง: [("Amy","Hubert"),("Bender","Amy"),("Hubert","Turanga"),("Amy","Wash Bucket"),("Wash Bucket","Nikolai"),("Phillip","John"),("Hermes","Turanga")] วิธีแก้ปัญหาของรายการที่ระบุด้านล่างไม่ถูกต้อง: [("Clyde","Phillip"),("Ethan","John"),("Clyde","John"),("Ethan",Phillip"),("Clyde","Hubert"),("Ethan","Wash Bucket"),("Clyde","Leela"),("Ethan","Nikolai"),("Clyde","Hermes"),("Ethan","Bender"),("Clyde","Amy"),("Ethan","Hubert"),("Clyde","Wash Bucket")] สิ่งนี้ไม่ถูกต้องเนื่องจากอีธานและไคลด์ไม่จำเป็นเพราะฟิลลิปฟรายเล็กน้อย, Zoidberg John …
10 code-golf  math 

12
การจัดสรรความขัดแย้ง
ได้รับ: จำนวนธรรมชาติS รายการน้ำหนัก N เหตุผลWที่รวมเป็น 1 ส่งคืนรายการLของ N จำนวนเต็มไม่ใช่ลบเช่น: (1) sum(L) = S (2) sum((S⋅W_i - L_i)^2) is minimal กล่าวอีกนัยหนึ่งคือประมาณS⋅W_iด้วยจำนวนเต็มที่สุด ตัวอย่าง: 1 [0.4 0.3 0.3] = [1 0 0] 3 [0 1 0] = [0 3 0] 4 [0.3 0.4 0.3] = [1 2 1] 5 [0.3 0.4 0.3] = …

9
สร้างตัวเข้ารหัส rot32
การสร้างตัวเข้ารหัส rot13 ที่ golfed นั้นง่ายเกินไปเพราะตัวอักษรนั้นมีลำดับเดียวกันทั้งหมดในพื้นที่อักขระ ASCII ลองใช้โปรแกรม rot32 แทน งานของคุณคือการสร้างฟังก์ชั่นที่ใช้สตริง Base64 เป็นอินพุตและส่งคืนสตริงเดียวกัน แต่ด้วยตัวอักษรแต่ละตัวหมุน 32 สัญลักษณ์จากเดิม (ในสาระสำคัญด้วยการพลิกบิตแรก) base64 เข้ารหัสสตริงเพื่อการใช้งานสำหรับปัญหานี้ด้วยตัวอักษรช่องว่างของ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/ =นี้คือการป้องกันการแก้ปัญหาที่อาจจะใช้หรือนำเข้าในตัวห้องสมุด Base64 ที่สตริงปกติเริ่มต้นด้วยแทนA0 Example inputs and outputs: > rot32("THE+QUICK+BROWN+FOX+JUMPS+OVER+THE+LAZY+DOG=") nb8ukoc6eu5liqhu9irudogjmuip8lunb8uf4tsu7ia= > rot32("NB8UKOC6EU5LIQHU9IRUDOGJMUIP8LUNB8UF4TSU7IA=") h5Eoei6C8oBfckboFclo7iadgocjEfoh5Eo9AnmoDc4= > rot32("Daisy++daisy++give+me+your+answer+true/I+/+m+half+crazy++all+for+the+love+of+you") 7GOY2uuJGOY2uuMO/KuSKu2U+XuGTY0KXuZX+KvcuvuSuNGRLuIXG32uuGRRuLUXuZNKuRU/KuULu2U+ โปรแกรมสั้นที่สุดที่จะทำเช่นนั้นในภาษาใดก็ได้จะชนะ
10 code-golf 

1
Shubbles and Smoles - ตอนที่ 1
การตั้งค่า พิจารณากล่องรูปทรงแปลก ๆ ที่มีเซลล์จำนวน 29 เซลล์ดังแสดงในรูปที่ 1 ด้านล่าง ภายในกล่อง 2D นี้เป็นสัตว์ที่มีรูปทรงสี่เหลี่ยมสองชนิดคือฟองอากาศและสโมล รูปที่ 1 (a) แสดงฟองอากาศสีน้ำเงินและมีสีแดงบางส่วน สิ่งมีชีวิตแต่ละคนตรงหนึ่งเซลล์ตาราง กล่องอาจมีที่ใดก็ได้ระหว่าง 0 ถึง 26 ฟอง แต่จะมีสองช่องเสมอ เมื่ออยู่ภายใต้แรงดึงดูดของโลกฟองและปล่องจะนั่งอยู่ที่ด้านล่างของกล่อง ทั้งสองสปีชีส์ขี้เกียจเป็นพิเศษและยังคงนิ่งเฉยอยู่ตลอดเวลา กล่องยังมี stot ซึ่งแสดงเป็นสี่เหลี่ยมจัตุรัสสีดำซึ่งตรงกับเซลล์กริดหนึ่งเซลล์ จุดที่ไม่อยู่ภายใต้แรงโน้มถ่วง กล่องมีช่องเปิดหนึ่งช่องที่ด้านล่างของเซลล์ 28 ดังแสดงในรูป เพื่อเป็นตัวแทนของการกำหนดค่าของฟอง, Smoles และ stot ในกล่อง textually เราใช้สตริง 29 ตัวอักษรหนึ่งตัวต่อเซลล์ตารางในลำดับที่ระบุด้วยการ.เป็นตัวแทนของเซลล์ที่ว่างเปล่าoแทนเศษเล็กเศษน้อยxเป็นตัวแทนของ smole และ@เป็นตัวแทนของ stot ยกตัวอย่างเช่นการกำหนดค่าของมะเดื่อ. 1 (ก) .........@...o....ooo..xox...เป็นตัวแทนจากสตริง กิจวัตร กล่องสามารถหมุนได้หลายเท่าของ 90 …

5
ใช้งานฟังก์ชั่นเหมือน t9
ความท้าทายของคุณในวันนี้คือการใช้ฟังก์ชั่นที่เหมือนt9 คุณจะใช้ฟังก์ชั่นที่จะมีเพียง 2 พารามิเตอร์ คุณจะได้รับหมายเลขโทรศัพท์ 1 หมายเลขในสายอักขระและเนื้อหาของไฟล์ข้อความพร้อมรายการคำศัพท์ (ไม่ต้องใช้สไตล์บรรทัดใหม่เฉพาะเจาะจง) คุณสามารถใช้ลิงค์https://raw.githubusercontent.com/eneko/data-repository/master/data/words.txtเพื่อทดสอบการใช้งานหรือใช้/usr/share/dict/words(ตรวจสอบไฟล์ข้อความที่มีรายการคำ [ปิด]สำหรับข้อมูลเพิ่มเติม ข้อมูล). คุณสามารถสันนิษฐานได้ว่าคุณจะได้รับอย่างน้อย 2 หมายเลข เมื่อกำหนดตัวเลขคุณจะอ่านจากรายการคำและส่งคืนคำที่ขึ้นต้นด้วยตัวอักษรที่จับคู่กับคำเหล่านั้น ซึ่งหมายความว่าอินพุตควรเป็นตัวเลขตั้งแต่ 2 ถึง 9 คุณสามารถทำอะไรก็ได้ที่คุณต้องการหากคุณได้รับอินพุตที่ไม่ถูกต้อง หากไม่มีการแข่งขันพบคุณสามารถกลับรายการว่างnull/ หรือnil0 โปรดจำไว้ว่าคีย์โทรศัพท์มือถือนั้นถูกจับคู่กับตัวอักษรที่เท่ากัน: 0 และ 1 ไม่ถูกต้อง 2 การแข่งขัน [abc] จับคู่ 3 [def] 4 แมตช์ [ghi] 5 แมตช์ [jkl] 6 แมตช์ [mno] 7 แมตช์ [pqrs] 8 แมตช์ [tuv] และ 9 …

10
ตรวจสอบ Magic Square
ตารางมายากลเป็นอาร์เรย์ตารางของตัวเลขที่มีด้าน n ประกอบด้วยจำนวนเต็มบวกชัดเจน 1, 2, ... , n ²จัดดังกล่าวว่าผลรวมของnตัวเลขในแนวนอนแนวตั้งหรือแนวทแยงสายหลัก ๆ อยู่เสมอ หมายเลขเดียวกันซึ่งเรียกว่าค่าคงที่วิเศษ โปรแกรมของคุณจะต้องใส่ตัวเลขที่ระบุความยาวด้านข้างของรูปสี่เหลี่ยมจัตุรัสของคุณจากนั้นเป็นตัวเลขในช่องสี่เหลี่ยม ไม่สามารถใช้ตัวเลขได้มากกว่าหนึ่งครั้งไม่สามารถใช้ตัวเลขที่มากกว่าn ²และตัวเลขทั้งหมดต้องมากกว่า 0 โปรแกรมต้องพิจารณาว่าการรวมกันของตัวเลขนั้นเป็นตารางเวทย์มนตร์หรือไม่
10 code-golf  math 

4
รหัสแอนนาแกรม
ลองทำอีกครั้ง เป้าหมายของการประกวดนี้คือการทำโค้ดสองชิ้นที่เป็นแอนนาแกรมของกันและกัน (ทั้งสองจะต้องมีไบต์เดียวกันตามลำดับที่ต่างกัน) และพวกเขาจะทำงานต่อไปนี้: หนึ่งจะต้องทดสอบว่าตัวเลขที่ป้อนมีความสุขหรือดีเลิศและเอาท์พุทถ้าตัวเลขนั้นเป็นอย่างใดอย่างหนึ่ง (ตัวอย่างเช่น7ต้องออกhappy primeและ4ต้องเอาท์พุทsad non-prime) อีกอันจะต้องเอาท์พุทขนาดของโค้ดเป็นไบต์เช่นคำ (โปรแกรม 60- ไบต์จะเอาท์พุทsixty, โปรแกรม 39- ไบต์จะเอาท์พุทthirty-nine) หากต้องการคำชี้แจงใด ๆ เกี่ยวกับกฎอย่าลังเลที่จะบอกฉัน นี่คือการแข่งขันกอล์ฟรหัสดังนั้นโปรแกรมที่สั้นที่สุดชนะ!

6
ค้นหาช่วงเวลาที่เล็กที่สุดจาก> 1,000 หลัก
งานของคุณคือการใช้หมายเลขนี้เป็นอินพุต (แม้ว่าควรจะใช้กับหมายเลขอื่นด้วย): 18349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957 และหาช่วงเวลาที่เล็กที่สุดซึ่งในกรณีนี้: 1834957034571097518349570345710975183495703457109751834957034571097518349570345710976 ขอให้โชคดีและสนุก! ชี้แจง : จำนวนอินพุตมีอย่างน้อยหนึ่งช่วงเวลาและหนึ่งช่วงเวลาบางส่วน ช่วงเวลาเริ่มต้นที่จุดเริ่มต้นของหมายเลขอินพุตเสมอ Period หมายถึงในกรณีนี้ลำดับของตัวเลขที่ซ้ำกัน
10 code-golf 

1
ค้นหาการเคลื่อนไหวที่ดีที่สุดในเกม Tetris
ฉันชอบ Tetris มาก แต่ฉันไม่ค่อยเก่ง เพียงครั้งเดียวที่ฉันอยากจะเห็นว่ายานอวกาศถอดสายตาของฉัน! และเนื่องจากคอมพิวเตอร์นั้นยอดเยี่ยมมากในทุกสิ่งทางออกที่เป็นไปได้เพียงอย่างเดียวคือการสร้างโปรแกรมให้เล่นเพื่อฉัน ... ยกเว้นคุณจะทำสิ่งนั้นให้ฉัน! ให้ tetromino (รูปร่างที่ทำจากสี่สี่เหลี่ยม) และแผนที่ของสนามเด็กเล่นคุณต้องวาง tetromino เพื่อให้ได้คะแนนมากที่สุด (ทำจำนวนแถวที่เต็มไปด้วยบล็อก) และสร้างจำนวนน้อยที่สุด ของหลุมใหม่ (พื้นที่ว่างที่ไม่สามารถ "เห็น" ด้านบนของสนามเด็กเล่น1 ) อินพุต อินพุตจะมีอักขระบนบรรทัดเดียวที่แทน tetromino ที่ลดลงตามด้วยช่องว่างขนาด 10 * 18 ตาราง2 ( ) และเครื่องหมายบวก ( +) ตัวละครดังกล่าวเป็นตัวแทนของ tetrominoes ฐานเจ็ดที่พบใน Tetris ชิ้นส่วนทั้งหมดสามารถหมุนได้ 90 องศา แต่ไม่พลิก tetrominoes ทั้งหมดและการหมุนของพวกเขามีดังนี้: # S = ## ## ## …
10 code-golf  tetris 

15
สร้างกริดให้ใกล้กับสแควร์มากที่สุด
สร้างฟังก์ชั่นหรือโปรแกรมที่ทำให้กริดใกล้เคียงกับสแควร์มากที่สุด คุณจะได้รับจำนวนเต็มNเป็นอินพุตจำนวนเต็ม (1,2,3,25 และอื่น ๆ ) ผลลัพธ์จะต้องเป็นตารางสี่เหลี่ยมที่สมบูรณ์แบบของตัวอักษรNที่ใกล้เคียงกับสี่เหลี่ยมมากที่สุด สแควร์ (ตะกาย) ต้องประกอบด้วยหนึ่งในตัวอักษร O หรือ X ตามที่ระบุโดยผู้ใช้ คะแนน : ฮาร์ดโค้ดเป็น O เท่านั้นหรือ X: +1 พารามิเตอร์ (0/1, จริง / เท็จ, บางอย่างที่คล้ายกัน) เพื่อหมุนเอาต์พุต (เช่น 5 หรือ 8): -10 ออกแบบสี่เหลี่ยม (ใช้ทั้ง O และ X ในรูปแบบบางแบบ): -5 รูปแบบถือว่าใช้ได้ถ้ามีอักขระทั้งสองประเภท (โดยที่ x / y-axis> = 3) และรูปแบบยังคงเหมือนเดิมเมื่อพลิกในแนวนอนหรือแนวตั้ง (อนุญาตให้มีการแลกเปลี่ยน Xs …

18
ลดขนาดตัวเลข
อินพุตเป็นอาร์เรย์ของจำนวนเต็ม (อย่างน้อย 3, สูงสุด 20) ที่แตกต่างกัน แต่ละจำนวนเต็มมากกว่า -1000 และน้อยกว่า 1,000 งานของคุณคือการหดตัวเลขด้วย "การทำแผนที่เป็นเส้นตรง" พวกเขาจากไป0.0 1.0ซึ่งหมายความว่าจำนวนที่น้อยที่สุดในอาเรย์จะถูกแมปเป็น 0.0, มากที่สุดถึง 1.0 คุณได้รับอาร์เรย์เป็นพารามิเตอร์ (ภายในฟังก์ชั่น) หรืออาร์กิวเมนต์ stdin / program (คุณสามารถเลือก) double1;double2;double3;...พิมพ์ออกผลในรูปแบบ การส่งออกจะต้องมีการสั่งซื้อเช่นเดียวกับการป้อนข้อมูล ถ้าคุณต้องการคุณสามารถปัดเศษผลลัพธ์เป็น 2 หลักหลังจุดทศนิยม ต้องมีอย่างน้อย 1 หลักหลังจุดทศนิยม การใช้งานของฟังก์ชั่น (ฟังก์ชั่นที่ขนาดลงเบอร์สำหรับคุณเช่นแมธิแมติกาRescale) ไม่ได้รับอนุญาต ตัวอย่าง: Input Output [5,-20,30] 0.5;0.0;1.0 [1,2,3,4,5] 0.0;0.25;0.5;0.75;1.0 [0,5,100,400] 0.0;0.01;0.25;1.0 (เอาต์พุตสุดท้ายถูกปัดเศษมิฉะนั้นจะเป็น0.0;0.0125;0.25;1.0)

4
ตัวเลข nonary แข็งแกร่งแค่ไหน?
คุณจะได้รับจำนวนเต็ม nonary (ฐาน 9) ที่ไม่ใช่ลบประกอบด้วยตัวเลข 0 ถึง 8 ตามปกติ อย่างไรก็ตามจำนวนตัวเลขในจำนวนนี้ (ไม่มีเลขศูนย์นำหน้า) เป็นรูปสี่เหลี่ยมจตุรัส ด้วยเหตุนี้จึงสามารถจัดเรียงตัวเลขในตารางสี่เหลี่ยม (โดยยังคงคำสั่งการอ่านไว้) ตัวอย่างกับ 1480 (1125 ฐาน 10): 14 80 ตอนนี้ขอหลักในตาราง nonary ทุกบ่งบอกถึงการเคลื่อนไหวไปยังพื้นที่ตารางอื่น (ที่มีเงื่อนไขขอบเขตระยะ ): 432 501 678 นี่เป็นการบอกว่า 0 = stay still 1 = move right 2 = move right and up 3 = move up ... 8 …

2
เขียนนักเขียนหนังสือ
นี่เป็นภาพ ASCII ที่ค่อนข้างธรรมดาของหนังสือที่เปิดอยู่: |\ | \ | \ | \ | \__________ | || | | || Lorem i | \ || psum do | \ || lor sit | \ || amet, | \ || consect | \||_________| ขอให้สังเกตว่าส่วนของข้อความนั้นอยู่ที่หน้าขวาเท่านั้นและมีความกว้าง 7 ตัวอักษรโดยสูง 5 นอกจากนี้โปรดสังเกตว่าขอบด้านบนของหนังสือมี 5 แบ็กสแลชและ 10 ขีด 10 มาจากความกว้างของข้อความบวก …

11
เขียนโปรแกรมที่เปลี่ยนทุก ๆ 17 บิตของไฟล์ข้อความเป็น 1
เพื่อนร่วมงานของฉันและฉันทำงานกับซอฟต์แวร์เก่าที่เราเกลียดบางครั้ง เมื่อใดก็ตามที่คุณเรียกใช้การตรวจแก้จุดบกพร่องจะมาทุกที่และไม่รับประกันว่าจะมีอะไรเกิดขึ้น แรงจูงใจสำหรับการออกรอบตีกอล์ฟรหัสนี้มาจากเพื่อนร่วมงานของฉันบอกว่าต่อไปนี้เกี่ยวกับซอฟต์แวร์ของเรา "มันเหมือนทุกครั้งที่คุณเรียกใช้โปรแกรมนี้คุณยอมรับข้อกำหนดในการให้บริการที่ระบุว่าบิตที่ 17 บนฮาร์ดไดรฟ์ของคุณจะกลายเป็น 1" เป้าหมาย: เขียนโปรแกรมที่จะทำสำเนาไฟล์อย่างถูกต้องและแปลงไฟล์ข้อความทุก ๆ 17 บิตให้เป็น 1 คุณไม่สามารถเปลี่ยนไฟล์ทุกๆบิตเป็น 1 เช่นโปรแกรมของคุณจะต้องแสดงความฉลาดว่ามันมีการกำหนดเป้าหมายเพียงทุก ๆ 17 บิต คุณไม่สามารถเขียนไฟล์ต้นฉบับในรูปแบบหรือรูปแบบใด ๆ ผู้ชนะเลิศคือการส่งโปรแกรมมีขนาดเล็กที่สุดในตอนท้ายของเดือน ขอให้สนุกกับสิ่งนี้! ไป!

12
รายการการรวมกันขององค์ประกอบในชุด
ด้วยชุดของnองค์ประกอบความท้าทายคือการเขียนฟังก์ชั่นที่แสดงรายการชุดค่าผสมทั้งหมดkองค์ประกอบในชุดนี้ ตัวอย่าง Set: [1, 7, 4] Input: 2 Output: [1,7], [1,4], [7,4] ตัวอย่าง Set: ["Charlie", "Alice", "Daniel", "Bob"] Input: 2 Output ["Daniel", "Bob"], ["Charlie", "Alice"], ["Alice", "Daniel"], ["Charlie", "Daniel"], ["Alice", "Bob"], ["Charlie", "Bob"] กฎ (แก้ไข) ลำดับของเอาต์พุตเป็นทางเลือกของคุณ อินพุตอาจเป็นข้อมูลประเภทใดก็ได้ แต่เอาต์พุตควรเป็นชนิดเดียวกันกับอินพุต หากอินพุตเป็นรายการของจำนวนเต็มเอาต์พุตควรเป็นรายการของจำนวนเต็มเช่นกัน หากอินพุตเป็นสตริง (อาร์เรย์ของอักขระ) เอาต์พุตควรเป็นสตริงเช่นกัน รหัสควรทำงานกับตัวแปรอินพุตจำนวนเท่าใดก็ได้ คุณสามารถใช้ภาษาการเขียนโปรแกรมใด ๆ คำตอบควรจะสามารถใช้อะไรก็ได้ (สตริง, int, double ... …
10 code-golf 

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