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

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

9
Fizz Buzz .. เสียงแตกป๊อป! (Fizz Buzz ทั่วไป)
เราทุกคนเคยได้ยินปัญหา ol Fizz Buzz แล้ว แต่จะเกิดอะไรขึ้นเมื่อคุณพยายามใช้กับปัจจัยอื่น ๆ Fizz Buzz Crackle Pop! ความท้าทาย เขียนโปรแกรมเต็มรูปแบบที่รับอินพุตจำนวนเต็มnจากนั้น n tuples ที่มีจำนวนเต็มและสตริงจากนั้นเป็นจำนวนเต็มอื่น (> 1) k ดังเช่น: n int1 str1 int2 str2 (...) intn strn k คุณสามารถใช้บรรทัดนี้จากบรรทัดคำสั่งหรือ STDIN แล้วสำหรับจำนวนเต็มทั้งหมด 1 ถึง k ถ้ามันเป็นหารด้วยใด ๆ ของint1 , int2 ... intnผลผลิตทั้งหมดที่สอดคล้องSTR s เพื่อการป้อนข้อมูลตามด้วยการขึ้นบรรทัดใหม่ หากไม่ใช่ให้ส่งออกจำนวนเต็มตามด้วย newline ตัวอย่างเช่นกับอินพุต 3 2 Fizz …
11 code-golf 

6
การแปลงตัวเลขให้เป็น "ระบบค่าที่ไม่คุ้มค่า"
ให้สร้างระบบของตัวเลขที่ตัวเลขที่ใหญ่ที่สุดในค่าที่ n (นับจากขวาไปซ้าย) ของความยาวหมายเลข m เท่ากับ m - n + 1 เสมอเพื่อให้ตัวอย่างตัวเลข 5 หลักที่ใหญ่ที่สุดในระบบนี้ ถูกเขียน 12345 นอกเหนือจากจำนวนหลักที่มีให้ใช้ในบางสถานที่ที่ถูก จำกัด การเพิ่มอื่น ๆ ทั้งหมดเป็นมาตรฐาน คือเมื่อหลักคือเกินขีด จำกัด หลักเราเพิ่มหนึ่งหลักถัดไป นี่คือวิธีการนับจำนวนที่จะแสดงในระบบนี้: 1; 10; 11; 12; 100; 101; 102; 103; 110; 111; 112; 113; 120; 121; 122; 123; 1000; 1001 ... งานของคุณคือการเขียนฟังก์ชั่นที่ใช้ตัวเลขฐาน 10 และแปลงเป็นระบบเลขของฉัน รหัสที่สั้นกว่าจะดีกว่า Bonne Chance! …

4
เขตการผลิตย่อยของขนาดกระดาษมาตรฐานสากล
ขนาดกระดาษ ISO ที่กำหนด: ขนาดกระดาษ A series ถูกกำหนดโดยข้อกำหนดต่อไปนี้: The length divided by the width is the square root of 2. The A0 size has an area of 1 unit. Each subsequent size A(n) is defined as A(n-1) cut in half parallel to its shorter sides. งาน: กำหนดf[n]เอาท์พุทอินพุตA0 แบ่งออกเป็นnเขตการปกครอง กรณีทดสอบ: f[1]ไปที่f[12]: ที่นี่ …

3
เคล็ดลับการเล่นกอล์ฟในนิ่ม
สิ่งใดที่คุณมีเคล็ดลับทั่วไปสำหรับการเล่นกอล์ฟในนิ่ม ? ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหาเกี่ยวกับ code-golf และอย่างน้อยก็ค่อนข้างเฉพาะกับ Nim (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
11 code-golf  tips 

2
ลำดับปริศนา Mondrian
แบ่งพาร์ติชันn X nสี่เหลี่ยมออกเป็นสี่เหลี่ยมหลายด้านที่ไม่สมภาคกัน a(n)มีความแตกต่างน้อยที่สุดระหว่างพื้นที่ที่ใหญ่ที่สุดและเล็กที่สุด ___________ | |S|_______| | | | L | | |_|_______| | | | | | |_____|___| |_|_________| (fig. I) สี่เหลี่ยมผืนผ้าที่ใหญ่ที่สุด ( L) มีพื้นที่2 * 4 = 8และสี่เหลี่ยมเล็กที่สุด ( S) 1 * 3 = 3มีพื้นที่ 8 - 3 = 5ดังนั้นความแตกต่างคือ รับจำนวนเต็มn>2ส่งออกความแตกต่างน้อยที่สุด ค่าที่ทราบทั้งหมดของลำดับในขณะที่ทำการโพสต์: 2, 4, 4, 5, 5, …

10
แมวตัวนี้มีข้อบกพร่อง? จริงๆ?
ท้าทาย: อ่านอินพุต (ภายในช่วง ASCII ที่มองเห็นได้) และเอาต์พุตพร้อมการแก้ไขเล็กน้อย: ในแต่ละชุดของอักขระ 10 ตัวของอินพุตสุ่ม (50/50): แทนที่หนึ่งอักขระ * (ด้วยการสุ่ม ** หนึ่งตัวในช่วง ASCII ที่มองเห็นได้) (เช่นlumberjackกลายเป็นlumbeZjack) หรือลบอักขระหนึ่งตัว (เช่นlumberjackกลายเป็นlmberjack) * หากชุดมีอักขระน้อยกว่า 10 ตัวคุณไม่จำเป็นต้องแก้ไข แต่คุณสามารถทำได้ ** ตัวละครอาจเหมือนกับอินพุตหนึ่งตราบใดที่ยังสุ่ม ตัวอย่าง: อินพุต: Go home cat! You're drunk! เอาต์พุต: Go hom cat! YouLre drunk! (เป็นเพียงตัวอย่างเนื่องจากเอาต์พุตอาจเป็นแบบสุ่มไม่ได้ใช้เป็นกรณีทดสอบ) กฎ: รหัสกอล์ฟตัวละครน้อยชนะ!

7
ผลรวมตัวเลขจนถึง Square
รับเป็นจำนวนเต็มใด ๆ x> 0 และฐานใด ๆ y> 3 รวมตัวเลขทั้งหมดของ x (ถ้าเขียนในฐานตั้ง) ทวีคูณด้วยจำนวนสูงสุดที่เป็นไปได้ (เสมอbase -1) ทำซ้ำจนกว่าค่านี้จะเป็น (y - 1) ^ 2 การค้นหาคือจำนวนครั้งของการวนซ้ำและขั้นตอนต่างๆ ตัวอย่างที่ 1: x= 739 y= 7 searched: (7 - 1) ^ 2 = 36 based: (b7)2104 sum: (dec)7 mul: (dec)42 based: (b7)60 sum: (dec)6 mul: (dec)36 2 steps needed …

18
Fibonacci Exponents
สำหรับความท้าทายนี้คุณจะต้องแสดงผลลัพธ์ของผลรวมของตัวเลขบางจำนวน ตัวเลขเหล่านี้คืออะไร? คุณได้รับอินพุต ( a, b) ซึ่งเป็นจำนวนเต็ม (บวกลบหรือศูนย์) a != bและa < bและแต่ละจำนวนเต็มภายในaและb(รวมถึงพวกเขา) จะมีเลขชี้กำลังตามตัวเลขฟีโบนักชี นี่เป็นตัวอย่างที่สับสน: Input: (-2, 2) Output: -2**1 + (-1**1) + 0**2 + 1**3 + 2**5 = -2 + -1 + 0 + 1 + 32 = 30 ระบุว่าหมายเลข Fibonacci แรกถูกแทนด้วยf(0)สูตรคือ: a**f(0) + ... + b**f(b-a+1) อินพุต, การประมวลผล, …

2
พิกัดหกเหลี่ยม: ขั้วโลกกับคาร์ทีเซียน
Wikipedia พูดเกี่ยวกับพิกัดเชิงขั้ว : ในวิชาคณิตศาสตร์ระบบพิกัดเชิงขั้วเป็นระบบพิกัดสองมิติซึ่งแต่ละจุดบนระนาบจะถูกกำหนดโดยระยะทางจากจุดอ้างอิงและมุมจากทิศทางอ้างอิง ดูเหมือนว่าสมบูรณ์แบบสำหรับการอธิบายกริดหกเหลี่ยม ใช้ตารางหกเหลี่ยมดังต่อไปนี้: A B C D E F G H I J K L M N O P Q R S จุดอ้างอิงของเราจะเป็นจุดศูนย์กลางของรูปหกเหลี่ยม ('J') และมุมอ้างอิงของเราจะอยู่ที่มุมซ้ายบนของรูปหกเหลี่ยม ('A') อย่างไรก็ตามเราจะอธิบายมุมในแง่ของจำนวนขั้นตอนตามเข็มนาฬิการอบด้านนอกของรูปหกเหลี่ยมจากจุดนี้ไม่ใช่มุม ดังนั้นเราจะเรียกมันว่า "หมายเลขขั้นตอน" แทนที่จะเป็นมุม ตัวอย่างเช่น 'C' อยู่ที่ (2, 2) เนื่องจากมีรัศมี 2 (เนื่องจากมีวงแหวนสองวงอยู่ห่างจากศูนย์กลาง 'J') และหมายเลขขั้นตอนที่ 2 (2 ตามเข็มนาฬิกาไปข้างหน้าจาก 'A ') ในทำนองเดียวกัน 'O' …

4
CUSRS - ระบบ Refactoring String ที่ไร้ประโยชน์อย่างสมบูรณ์!
บทนำ ฉันเป็นแฟนตัวยงของ SBU (สั้น แต่ไม่เหมือนใคร) ที่ท้าทายความสามารถในการเพาะปลูก PPCG ตลอดเวลา CUSRS เป็นระบบที่ออกแบบมาเพื่อ refactor สตริงฟังก์ชั่น CUSRS ใช้เวลา 2 พารามิเตอร์และเอาท์พุท 1 สตริง ท้าทาย จัดทำโปรแกรมฟังก์ชั่นแลมบ์ดาหรือทางเลือกที่ยอมรับได้เพื่อทำสิ่งต่อไปนี้: รับString inputและString refactor(เป็นตัวอย่าง) refactor inputใช้refactorดังนี้: refactorString จะอยู่ในรูปแบบของ((\+|\-)\w* *)+(regex) ตัวอย่างเช่น: +Code -Golf -lf +al แต่ละส่วนคือการกระทำที่ refactoring inputเพื่อดำเนินการเกี่ยวกับ แต่ละโปรแกรมยังมีตัวชี้ + จะแทรกคำต่อท้าย (โดยไม่มีเครื่องหมายบวก) ที่ตัวชี้ตำแหน่งปัจจุบันในสตริงแล้วรีเซ็ตตัวชี้เป็น 0 แต่ละการดำเนินการควรถูกนำไปใช้กับinputString และควรส่งคืนผลลัพธ์ ตัวอย่าง: input: Golf +Code //pointer location: …
11 code-golf  string 

7
มันเป็นต้นไม้เชิงเส้น (ฉบับที่กว้างแรก)
พื้นหลัง ต้นไม้ที่ไม่มีป้ายกำกับอาจมีลักษณะเช่นนี้: o / | \ o o o | / \ o o o ในการทำให้ต้นไม้นี้เป็นเส้นตรงเราต้องติดป้ายแต่ละโหนดoด้วยจำนวนของโหนดลูก: 3 / | \ 1 0 2 | / \ 0 0 0 จากนั้นเขียนตัวเลขลงในรายการในลักษณะลมหายใจก่อนหมายถึงบรรทัดต่อบรรทัดและจากซ้ายไปขวา: [3, 1, 0, 2, 0, 0, 0] นี่คือการแสดงที่ไม่เหมือนใครและไม่ซ้ำใครของต้นไม้ด้านบนซึ่งหมายความว่าไม่มีต้นไม้บริสุทธิ์ที่แตกต่างกันสองตัวที่จะมีเส้นตรงเหมือนกันและเราสามารถสร้างต้นไม้ดั้งเดิมขึ้นใหม่จากรายการ แม้ว่าต้นไม้แต่ละต้นจะสอดคล้องกับรายการจำนวนเต็มจำนวนหนึ่ง แต่ไม่ใช่รายการจำนวนเต็มแต่ละรายการที่แสดงถึงต้นไม้เชิงเส้นที่ถูกต้อง: ตัวอย่างเช่น[2, 0, 0, 0]ไม่ได้เป็นตัวแทนของต้นไม้ที่ถูกต้องถ้าเราพยายามที่จะทำให้เป็นเส้นตรง [2,0,0,0] -> 2 [0,0,0] -> 2 …

2
ขอย่อตัวเลขเหล่านั้น! ตอนนี้ย้อนกลับ?
บทนำ: เช่น Twitter และ Instagram และอื่น ๆ ผมอยากจะแสดงผลตัวเลขเหมือน1.2Kและ3.8 Mแทนหรือ1,2223,823,456 แต่นั่นไม่ใช่ทั้งหมด! อย่างที่เราทุกคนรู้ว่าอาจมีมนุษย์บางคนที่ไม่ชอบตัวย่อเหล่านี้อย่างแน่นอนและจะพยายามที่จะกลับพวกเขา ดังนั้น1.2kจะกลายเป็น1,200และจะกลายเป็น3.8 M3,800,000 งาน: งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่แปลงรายการของตัวเลข ( ซึ่งได้รับเป็นสตริง ) เป็นคู่ตัวย่อและในทางกลับกัน ตัวอย่างเช่นหากรายการอินพุต (หรือใด ๆSTDIN) เป็น['1.4k', '1,234,567', '7.99M']เช่นนั้นคุณควรส่งออก: ['1,400', '1.2M', '7,990,000'] คุณสามารถทำตามสคีมาต่อไปสำหรับตัวย่อ: 10 3 -> หนึ่งกิโลกรัม -> K 10 6 -> หนึ่งล้าน -> M 10 9 -> หนึ่งพันล้าน -> B รหัสของคุณอาจถือว่าเป็นตัวพิมพ์เล็กทั้งหมดตัวพิมพ์ใหญ่ทั้งหมดตัวพิมพ์ผสมหรือตัวพิมพ์เล็กที่ไม่ได้กำหนดสำหรับการป้อนข้อมูลและใช้สิ่งเหล่านี้เพื่อการส่งออก แต่ควรสอดคล้องกัน กฎและข้อ …
11 code-golf 

7
การรื้อถอนอาคาร
ท้าทาย เขียนโปรแกรม / เต็มฟังก์ชั่นที่จะรื้อถอนอาคารที่ได้รับในอัตรา1 ชั้นต่อวินาที INPUT อินพุตคือสิ่งปลูกสร้างผ่านSTDIN (หรืออะไรก็ตามที่ถูกเรียกในภาษาของคุณ) หรือผ่านฟังก์ชั่น ARGUMENT t = 0 วิ | |#| {#} |# #| |# # #| |# # #| |# # #| TTTTTTT การป้อนข้อมูลประกอบด้วย: | เครื่องหมายเริ่มต้นและสิ้นสุดของพื้น {, }เครื่องหมายชั้นกับวัตถุระเบิด # เป็นหน้าต่างที่ใช้สำหรับตกแต่ง คือพื้นที่ซึ่งมีอยู่ทุกหนทุกแห่งภายในชั้นที่#ไม่มี T ทำเครื่องหมายพื้นดิน (ไม่สามารถทำลายได้) * ทำเครื่องหมายพื้นระเบิด กฎการป้อนข้อมูล: สิ่งปลูกสร้างเริ่มจากด้านบนหนึ่ง|และสิ้นสุดบนพื้นดิน (โดยไม่มี ( T) = no ( …

1
ลำดับการสลับ
Intro ลำดับการสลับถูกกำหนดดังนี้: เริ่มต้นด้วยnคนที่ยืนเป็นวงกลม ( 6สำหรับตัวอย่างนี้) 1 2 6 3 5 4 เริ่มต้นจากบุคคล1บุคคลที่อยู่ทางด้านซ้ายของบุคคล "ที่เลือก" จะถูกลบออก 1 6 3 5 4 บุคคลที่ถูกลบสามารถ "เปลี่ยน" วิธีการกำจัดได้: หากบุคคลที่ถูกลบออกเป็นเลขคู่ (ซึ่งเป็นในกรณีนี้) บุคคลที่ถูกลบออกคนถัดไปจะอยู่ทางขวาของบุคคล "ที่ถูกเลือก" ถัดไป หากบุคคลที่ถูกลบออกเป็นเลขคี่บุคคลที่ถูกลบออกคนถัดไปจะอยู่ทางซ้ายของบุคคล "ที่เลือก" ถัดไป บุคคลที่ถูกเลือกถัดไปจะขึ้นอยู่กับบุคคลที่ถูกลบไปก่อนหน้านี้ด้วย หากบุคคลที่ถูกลบออกเป็นเลขคู่บุคคลที่ถูกเลือกถัดไปจะอยู่ทางขวาของบุคคลที่เลือกก่อนหน้า หากบุคคลที่ถูกลบออกเป็นเลขคี่ให้ดูด้านบน แต่แทนที่ "ขวา" ด้วย "ซ้าย" 6ดังนั้นบุคคลที่ได้รับการแต่งตั้งต่อไปคือแล้ว ตอนนี้เราลบบุคคลไปทางขวาของ6ซึ่งก็คือ5: 1 6 3 4 เพราะ5แปลกแล้วบุคคลที่ถูกลบจะอยู่ทางซ้าย 1บุคคลที่ได้รับการแต่งตั้งใหม่คือ ตอนนี้เราลบ3: 1 6 4 เรายังคงกระบวนการนี้จนกว่าเราจะเหลือ …

14
ช่วยฉันฉันหลงทางในมหาสมุทร!
บทนำ วันนี้ฉันไปตกปลาตามลำพังกับเรือแคนูโชคไม่ดีที่ฉันหลับไปและกระแสน้ำก็พาฉันออกไปฉันทำพายหายตอนนี้คืนและฉันก็หายไปในมหาสมุทร! ฉันไม่สามารถเห็นชายฝั่งดังนั้นฉันต้องอยู่ไกล! ฉันมีโทรศัพท์มือถือของฉัน แต่ใช้งานไม่ได้เพราะมันเปียกด้วยน้ำทะเลเค็มฉันไม่สามารถพูดคุยหรือได้ยินอะไรเพราะไมค์และลำโพงโทรศัพท์เสีย แต่ฉันสามารถส่ง SMS ถึงเพื่อนที่อยู่บนชายหาดของชายฝั่ง! เพื่อนของฉันมีไฟฉายที่ทรงพลังมากและเขายกมันขึ้นบนต้นไผ่เพื่อแสดงให้ฉันเห็นทิศทางที่ถูกต้อง แต่ฉันไม่สามารถเข้าแถวได้เพราะฉันไม่มีพายดังนั้นฉันต้องบอกเขาว่าฉันเป็นใคร จับฉัน! เพื่อนของฉันบอกฉันว่าเขาเก็บคบเพลิงไว้ที่ 11.50 เมตรบนระดับน้ำทะเลและฉันเห็นแสงเหนือขอบฟ้า ตอนนี้ฉันจำได้แค่จากโรงเรียนว่ารัศมีของโลกควรอยู่ที่ 6371 กม. ที่ระดับน้ำทะเลและฉันนั่งในเรือแคนูของฉันเพื่อให้คุณคิดว่าตาของฉันอยู่ที่ระดับน้ำทะเลเช่นกัน งาน เพื่อนของฉันกำลังคบเพลิงเป็นครั้งคราว (ตอนนี้อยู่ที่ 12.30 เมตร) โปรดเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่จะช่วยฉันคำนวณระยะทางจากตำแหน่งของเพื่อนฉัน! นี่คือแผนภาพ (ไม่ปรับขนาด): จุดสีส้มที่มีชื่อว่าMฉันจุดสีแดงที่มีป้ายกำกับTคือไฟฉาย เส้นสีเขียวคือระยะเชิงเส้นระหว่างMถึงT อินพุต ใช้ความสูงคบเพลิงเป็นhเมตรที่ระดับน้ำทะเลซึ่งฉันเห็นอยู่ด้านบนของขอบฟ้าในรูปแบบของจำนวนจุดลอยตัวที่มีความแม่นยำทศนิยมสองตำแหน่ง (ที่มีความแม่นยำ 1 เซนติเมตรหรือ 0.01 เมตร) ใน รวมตั้งแต่ 0 ถึง 100 เอาท์พุต คุณควรคืนความยาวยูคลิดของเส้นสีเขียวด้วยความแม่นยำ 1 ซม. ตัวอย่างเช่นถ้าคุณส่งออกเป็นเมตรควรมีทศนิยมสองตำแหน่ง (อย่างน้อย) เอาต์พุตสามารถเป็นได้ทั้งเมตรหรือกิโลเมตร แต่เคารพความถูกต้อง กรณีทดสอบ: ค่าทั้งหมดเป็นเมตร …

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