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

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

6
ANNNOUNNNCCCEEERRR ข้อความเสียง
เขียนฟังก์ชั่นที่ใช้สตริงของตัวอักษรและช่องว่าง (ไม่จำเป็นต้องจัดการกับตัวอักษรที่ไม่ใช่) และดำเนินการอัลกอริทึมการแปลเสียง ANNOUNCER ดังต่อไปนี้: ครั้งแรกทุกอย่างเป็นตัวพิมพ์ใหญ่ สำหรับแต่ละคำ ยืดพยัญชนะแต่ละตัวโดยการเพิ่มตัวอักษรสามตัว; ยกเว้นถ้าคำขึ้นต้นด้วยกลุ่มพยัญชนะอย่ายืดออกคลัสเตอร์นั้น ยกตัวอย่างเช่นotherควรจะเป็นOTTTHHHEEERRRแต่ควรจะเป็นmotherMOTTTHHHEEERRR ยืดเสียงสระสุดท้ายด้วยการเพิ่มเสียงสามเท่า ในทั้งสองกรณีของการยืดตัวถ้าคุณกำลังสุ่มตัวอักษรสามตัวก่อนอื่นให้รวมเข้าด้วยกันด้วยตัวอักษรที่ซ้ำกันทั้งสองด้าน ยกตัวอย่างเช่นhillควรจะเป็นHIIILLLและควรจะเป็นbookkeeperBOOKKKEEPPPEEERRR สำหรับจุดประสงค์ของการท้าทายนี้ให้yถือว่าเป็นพยัญชนะ การทำให้ชัดเจน / การทำให้เข้าใจง่าย: คุณอาจสมมติว่าคำแต่ละคู่ถูกคั่นด้วยช่องว่างเดียวและอินพุตนั้นไม่มีช่องว่างต่อเนื่องและอินพุตนั้นจะไม่เป็นสตริงว่าง รหัสที่สั้นที่สุดชนะ! ทดสอบเวกเตอร์: > sunday sunday SUNNNDDDAAAYYY SUNNNDDDAAAYYY > mia hamm MIAAA HAAAMMM > chester alan arthur CHESSSTTTEEERRR ALLLAAANNN ARRRTTTHHHUUURRR > attention please ATTTENNNTTTIOOONNN PLEASSSEEE > supercalifragilisticexpialidocious SUPPPERRRCCCALLLIFFFRRRAGGGILLLISSSTTTICCCEXXXPPPIALLLIDDDOCCCIOUUUSSS > moo MOOO > Aachen …
18 code-golf  string 

21
สี่เหลี่ยมด้านขนาน a Number
ตอนนี้เรารู้วิธีทำจำนวนสี่เหลี่ยมและสามเหลี่ยมอย่างเหมาะสมแล้วเราจะเรียนรู้วิธีการสี่เหลี่ยมด้านขนาน ในการจัดรูปสี่เหลี่ยมด้านขนานเราจะจัดเรียงเป็นรูปสี่เหลี่ยมด้านขนานโดยการวางซ้อนกันบนตัวมันเองจำนวนครั้งเท่ากับจำนวนหลักที่มีและเพิ่มช่องว่างเพื่อทำให้เป็นรูปสี่เหลี่ยมด้านขนาน ดังนั้น123รูปแบบ: 123 123 123 ตอนนี้เราใช้เวลาในแต่ละหมายเลขแนวนอนและแนวตั้งและเพิ่มพวกเขา123+123+123+1+12+123+23+3ซึ่งเท่ากับซึ่งเป็นสี่เหลี่ยมด้านขนานของ 531123 งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งกลับเป็นสี่เหลี่ยมด้านขนานของตัวเลข การป้อนข้อมูล: จำนวนเต็มไม่เป็นลบหรือจำนวนเต็มที่ไม่ใช่ลบแสดงด้วยสตริง เอาท์พุท: สี่เหลี่ยมด้านขนานของจำนวนเต็ม กรณีทดสอบ: 1234567 -> 10288049 123 -> 531 101 -> 417 12 -> 39 เกณฑ์การให้คะแนน: นี่คือโค้ดกอล์ฟคะแนนต่ำสุดเป็นไบต์ชนะ!
18 code-golf  number 

24
ค้นหาหมายเลข biquadratic ที่ใกล้ที่สุด
หมายเลข biquadratic คือตัวเลขที่เป็นกำลังสี่ของจำนวนเต็มอื่นตัวอย่างเช่น: 3^4 = 3*3*3*3 = 81 กำหนดจำนวนเต็มเป็นอินพุตเอาต์พุตหมายเลข biquadratic ที่ใกล้เคียงที่สุด นี่คือ 15 ตารางสองครั้งแรก: 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 14641, 20736, 28561, 38416, 50625 นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ นี่คือ OEIS A000583

12
LCM ของจำนวนตรรกยะ
ตัวคูณร่วมน้อย (LCM) ของชุดของตัวเลขAเป็นที่เล็กที่สุดจำนวนเต็มbเช่นว่าb/aเป็นจำนวนเต็มสำหรับจำนวนเต็มทั้งหมดในa Aคำจำกัดความนี้สามารถขยายไปถึงตัวเลขที่มีเหตุผล! งาน ค้นหาที่เล็กที่สุดในเชิงบวกที่มีเหตุผล bดังกล่าวที่b/aเป็นจำนวนเต็มสำหรับทุกrationals aในการป้อนข้อมูล กฎระเบียบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม คุณอาจนำตัวเศษและตัวส่วนแยกจากกันในอินพุต แต่ไม่สามารถใช้คู่ผสมลอย ฯลฯ อินพุตอาจไม่ลดลงจนสุด คุณอาจจะใช้ปัจจัยการผลิตที่เป็นจำนวนเต็ม rationals 1กับส่วนของ การส่งที่จะป้อนตัวเลขที่มีเหตุผลไปยัง LCM / GCD ในตัวได้รับอนุญาต แต่ไม่สามารถแข่งขันได้ กรณีทดสอบ In: 3 Out: 3 In: 1/17 Out: 1/17 In: 1/2, 3/4 Out: 3/2 In: 1/3, 2/8 Out: 1 In: 1/4, 3 Out: 3 In: 2/5, 3 …

11
บีบอัดเมทริกซ์เบาบาง
บีบอัดเมทริกซ์เบาบางใช้แถวเบาบางอัด (CSR จำหรือเยลรูปแบบ) ทั้งหมดนี้เป็นรูปแบบการบีบอัดเดียวกัน (ไม่สนใจเยลใหม่) อินพุตอาจเป็นโครงสร้างข้อมูล 2d ใด ๆ (รายการ, ฯลฯ ): เช่น [[0 0 0 0], [5 8 0 0], [0 0 3 0], [0 6 0 0]] และผลผลิตที่ควรจะเป็นสามโครงสร้างข้อมูล 1D (รายการ ฯลฯ ) ที่หมายถึงผลผลิตA, IAและJAยกตัวอย่างเช่น [5, 8, 3, 6] [0, 0, 2, 3, 4] [0, 1, 2, 1,] กระบวนการนี้อธิบายโดยวิกิพีเดีย: …

18
“ สวัสดีโลก!” (ตัวละครอื่น ๆ ตอนที่ 2)
เป็นส่วนที่ 2 ถึงสวัสดีโลก! (ตัวละครอื่น ๆ ทุกตัว)เขียนโปรแกรมที่ทั้งสามโปรแกรมเหล่านี้พิมพ์ "Hello, World!": โปรแกรมทั้งหมด, ตัวอักษรที่ 1, 3, 5, ฯลฯ ของโปรแกรมของคุณและตัวที่ 2, 4, 6, เป็นต้น หากโปรแกรมของคุณคือ: abc def มันควรจะส่งออก "Hello, World!" แต่ควรจะ acdf และ b e ไม่มีวิธีแก้ไขพร้อมกับ "Hello, World!" ในตัว

11
Swep ท่าสระ!
หมายเหตุ: ชื่อนั้นสะกดผิดโดยเจตนา ให้ s string สลับสระแรกของทุก ๆ 2 คำ สำหรับความท้าทายนี้ y ถือว่าเป็นสระ ตัวอย่างเช่นกำหนดอินพุตของ "great day sir": 1. Input: "great day sir" 2. Identify pairs of words: "[great day] [sir]" (No word for sir to pair with) 3. Identify the first vowel runs in each word: "[gr[ea]t d[ay]] [s[i]r]" 4. Swap …

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

30
เปรียบเทียบค่าเฉลี่ยของรายการของฉัน
รับค่าเฉลี่ยของรายการ (เช่น[2,6,7]) รับความยาวของรายการ: [2,6,7] -> 3 2 + 6 + 7 = 15สรุปตัวเลขในรายการ: 15 / 3 = 5แบ่งผลรวมโดยการนับจำนวนของพวกเขา: คุณควรเปรียบเทียบค่าเฉลี่ยของทั้งสองรายการของบวกจำนวนเต็มNและMโดยการกลับค่าถ้าไม่มีมีค่าเฉลี่ยสูงกว่าค่าอื่นถ้าMมีค่าเฉลี่ยที่สูงขึ้นและอีกคนหนึ่งในกรณีที่มีการผูก กฎ I / O อนุญาตให้ใช้วิธีการอินพุตและเอาต์พุตมาตรฐานทั้งหมด อินพุต คุณสามารถรับข้อมูลเป็นสองรายการแยกกันเป็นรายการซ้อนกันหรือสิ่งอื่นที่คุณเห็นว่าเหมาะสมกับงาน โปรดระบุรูปแบบ เอาท์พุต ค่าที่ระบุจะต้องมีความแตกต่างและต้องประกอบด้วยอักขระที่ไม่ใช่ช่องว่างอย่างน้อยหนึ่งตัว นอกจากนี้จะต้องสอดคล้องกันระหว่างการรัน (ค่าเดียวสำหรับN , ค่าเดียวสำหรับM , ค่าเดียวสำหรับTie ) โปรดระบุคำตอบของคุณ ค่าสามารถเป็นสตริงที่ไม่ว่างเปล่าค่า Bool จำนวนเต็มหรืออะไรก็ได้ที่คุณเห็นว่าเหมาะสม รายละเอียด รายการไม่จำเป็นต้องมีความยาวเท่ากัน คุณรับประกันได้ว่ารายการนั้นไม่ว่างเปล่า กรณีทดสอบ ผมเลือกค่าN wins, M winsและTieซึ่งจะสวยมากตัวเองชัดเจน N, M …

14
สามเหลี่ยม Palindromic เต็ม
160615051พิจารณาสตริง มันอาจเป็น "triangulated" เช่น: 1 606 15051 จากนั้นแต่ละแถวจะมีลักษณะสีทึบ นอกจากนี้โปรดทราบว่าแต่ละด้านของเส้นรอบวงก็มีลักษณะเป็นสีน้ำตาล: 1 | 1 | 6 | 6 | 1 | 1 | 15051 ดังนั้นสตริงนี้ถือได้ว่าเป็นรูปสามเหลี่ยม palindromic ไม่ต้องกังวลเกี่ยวกับระดับความสูง100ในกรณีนี้มันไม่จำเป็นต้องเป็น Palindromic อินพุต:สตริงอักขระ ASCII ที่พิมพ์ได้จาก 0x20 ถึง 0x7E นี่อาจเป็นอาเรย์ตัวอักษรสตริงเดี่ยวหรืออาเรย์ของจุดรหัส ASCII การป้อนข้อมูลของคุณจะสามารถถูกวิเคราะห์แบบสามเหลี่ยมได้ (นั่นคือความยาวของมันจะเป็นรูปสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบเสมอ) เอาท์พุท : ค่าความจริงถ้าสตริงเป็นรูปสามเหลี่ยม Palindromic เต็มหรือค่าเท็จเป็นอย่างอื่น กรณีทดสอบ input => output 1 => true A => …

29
บล็อกของตัวเลข
เอาท์พุท / พิมพ์บล็อกข้อความนี้: 1234567890 2468013579 3691470258 4815926037 5049382716 6172839405 7306295184 8520741963 9753108642 0987654321 รูปแบบที่ยอมรับ ได้แก่ : การขึ้นบรรทัดใหม่ / ช่องว่าง รายการสตริง รายชื่อตัวละคร รายการของรายการจำนวนเต็ม อย่างไรก็ตามรายการของจำนวนเต็มไม่สามารถยอมรับได้เนื่องจากบรรทัดสุดท้ายไม่ใช่จำนวนเต็ม นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้

7
การคาดเดาของ Gilbreath
สมมติว่าเราเริ่มต้นด้วยรายการหมายเลขเฉพาะที่ไม่สิ้นสุด: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ... จากนั้นเรานำความแตกต่างที่แน่นอนระหว่างตัวเลขแต่ละคู่ซ้ำ ๆ กัน: [1, 2, 2, 4, 2, 4, 2, 4, 6, 2, 6, 4, 2, 4, 6, 6, 2, 6, 4, ... [1, 0, 2, 2, 2, …

13
ขนาดของฉันคืออะไร
ภารกิจ:ให้พื้นที่ของสามเหลี่ยมหาสามเหลี่ยม Heronianกับพื้นที่นั้น อนุญาตให้สามเหลี่ยม Heronian ใด ๆ ที่มีพื้นที่ที่ระบุ Heronian สามเหลี่ยมเป็นรูปสามเหลี่ยมที่มีด้านจำนวนเต็มและพื้นที่จำนวนเต็ม ตามสูตรของนกกระสาสามเหลี่ยมที่มีความยาวด้านa,b,cมีพื้นที่ sqrt(s*(s-a)*(s-b)*(s-c)) โดยที่s=(a+b+c)/2ครึ่งหนึ่งของสามเหลี่ยม สิ่งนี้สามารถเขียนเป็น sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)) / 4 หากไม่มีสามเหลี่ยมดังกล่าวอยู่เอาต์พุตที่มีค่าความผิดพลาดที่สอดคล้องกัน อินพุต:เลขจำนวนเต็มบวกเดียวแทนพื้นที่ของสามเหลี่ยม เอาท์พุท:ความยาวสามด้านใด ๆ สำหรับรูปสามเหลี่ยมหรือค่าที่ไม่ถูกต้อง ตัวอย่าง: Input -> Output 6 -> 3 4 5 24 -> 4 15 13 114 -> 37 20 19 7 -> error ช่องโหว่มาตรฐานใช้ นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

17
บีบอัดลำดับความคลาดเคลื่อนสูงสุด -2
เอาท์พุทลำดับความยาวไบนารีของ 1,606 นี้ -++-+--++-++-+--+--++-+--+--++-+--++-++-+-++--++-+---+-++-+--+--++++--+--++-+--++-++----++-++-+-++--++-+-+---++-+--++-++-+--++-+--+---+-++-+--++-++-+--+--++-++-+--++-+--+++-+-+----+++-+--+--+++---++-++-+--+--+++--+-+-+--+-+++-++-+--+--++-+--++-++-+--+--++--+++---+++-+---++-+--++--+-+--+-+++-+--++-++-+--++-+--+--++-+--++--+-++-+-+--+-+-++-+--++-+--+--++-+-+-++-+-+-++---+-+--++++--+---++-+-++-+--++-+--+--++-+--++++--+---+-++++--+--++-++-+--++-+--+--++-+--++-++-+--++-+--+--++-++-+----+++-+--++--+++---+-++-+--+-++---+-++-++-+--+--++--++++-+--+--+--++++--+--+++---++-++-+--++--+-+--+--++-++-+--+--+-+++-++-+--+--++--+-++-++-+--+--+--++-++-+--+++---++-+--++-++---+++---++-++----+++--+-++-+--+--++-+--++-++-+-++--++--++----+++-++--++----++-+++--++---+++----+-+-++-++-++-+-+----+++--++-+--++-++-+--+--+--++-+--++-++-+--++--+-+--+-+-+-++++---+-+-++--+--+-+-+-++-+-+++--+-+--+--+-+++--+-+++---++-+--+--++-++--++---++-+-++--++-+---+-++-+--+-++--++-+--++-+--+-+++-+--++--+-+-+++--+-+--++-++-+--+--+-++---+-++-+-++--++-+--+++-+----++--+-++-+-++--++-+--++-+-++--++-+---+-++-+--+++----+-+-++--++-+--++-++-++-+--+--+--++++---++---+-+-++-+-+++--+-++--+-+--+-+-++---+++-++ ลำดับ ลำดับที่ จำกัด นี้มีโครงสร้างที่แน่นในแบบที่ฉันหวังว่าจะให้วิธีการที่ไม่ซ้ำกันสำหรับการบีบอัด มันเกิดขึ้นจากปัญหาความแตกต่างแอร์ดิชซึ่งได้รับการให้ความสำคัญในความท้าทายที่ก่อนหน้านี้ ปฏิบัติตามเงื่อนไขเป็น +1 และ -1 นี่คือลำดับความยาวสูงสุดของความคลาดเคลื่อน 2 ซึ่งหมายความว่า: สำหรับทุกขั้นตอนที่เป็นบวกdหากคุณใช้dคำศัพท์ทุกคำ (เริ่มต้นด้วยdคำศัพท์ที่สอง) ผลรวมสะสมของลำดับผลลัพธ์จะยังคงอยู่ระหว่าง -2 ถึง 2 หากคุณคิดว่าแต่ละคน+หมายถึงขั้นตอนที่ถูกต้องและ-หมายถึงขั้นตอนที่เหลือนั่นหมายความว่าการเดินของการdเรียนการสอนทุกครั้งนั้นจะไม่เดินทางไกลเกิน 2 ก้าวจากตำแหน่งเริ่มต้น ตัวอย่างเช่นสำหรับd=3การทำทุก ๆ เทอม 3 จะให้ลำดับ+-++--+--+-...ซึ่งมีผลบวกเป็นจำนวน[1,0,1,2,1,0,1,0,-1,0,1,...]ซึ่งไม่เคยกด -3 หรือ 3 -++-+--++-++-+--+--++-+--+--++-+--+... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ + - + + - …

28
ในคุกตอนนี้
ท้าทาย กำหนดจำนวนเต็มn(ที่4<=n<=10**6) เป็นอินพุตสร้าง ASCII art "เรือนจำประตู" * วัดn-1ความกว้างของnตัวอักษรและอักขระสูงโดยใช้สัญลักษณ์จากตัวอย่างด้านล่าง ตัวอย่าง ╔╦╗ ╠╬╣ ╠╬╣ ╚╩╝ อักขระที่ใช้มีดังนี้: ┌───────────────┬─────────┬───────┐ │ Position │ Symbol │ Char │ ├───────────────┼─────────┼───────┤ │ Top Left │ ╔ │ 9556 │ ├───────────────┼─────────┼───────┤ │ Top │ ╦ │ 9574 │ ├───────────────┼─────────┼───────┤ │ Top Right │ ╗ │ 9559 │ ├───────────────┼─────────┼───────┤ │ …

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