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

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


3
เมื่อฟีโบนักชีพบราชินี
(แรงบันดาลใจจากคำตอบของ Helka ต่อการจับคู่แท็ก "หมากรุก" และ "Fibonacci" แบบสุ่มในการแชท) fibonacci ตัวเลข Fibonacciเป็นหนึ่งในลำดับที่รู้จักกันดีในวิชาคณิตศาสตร์ที่แต่ละหมายเลขจะประกอบด้วยโดยการเพิ่มตัวเลขสองก่อนหน้านี้ร่วมกัน ด้านล่างนี้เป็นคำจำกัดความของลำดับศูนย์ดัชนี: f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) ซึ่งจะส่งผลในลำดับ0, 1, 1, 2, 3, 5, 8, 13, 21, ...( ลิงค์ OEIS ) ในความท้าทายนี้เราจะมุ่งเน้นเฉพาะค่าบวกอย่างเคร่งครัด (ดังนั้น1, 1, 2, 3, ...) และคุณสามารถเลือกการจัดทำดัชนีเป็นศูนย์หรือการจัดทำดัชนีเดียว แต่โปรดระบุสิ่งที่คุณส่งมา หมายเลข Fibonacci สามารถใช้สำหรับการเรียงตัวของระนาบโดยใช้กำลังสองที่ต่อเนื่องกันf(n)ในขนาดและจัดตำแหน่งขอบเข้าด้วยกัน การเรียงกระเบื้องทำในลักษณะทวนเข็มนาฬิกาโดยวางสี่เหลี่ยมในรูปแบบ "ขวาขึ้น - ซ้าย …

16
มันยืดหน่อย Stretch
การป้อนข้อมูล: เรารับสองอินพุต: การป้อนข้อมูลbที่มีสองค่าที่แตกต่างกันและLeft †Right nและเป็นจำนวนเต็มบวก เอาท์พุท: ขึ้นอยู่กับอินพุตซ้าย / ขวาเราแสดงเอาต์พุตสองซีเควนต่อไปนี้ในช่วงของ1-n(ในลำดับด้านล่างที่แสดง 125 รายการแรก): Left: 1, 6, 7, 56, 57, 62, 63, 960, 961, 966, 967, 1016, 1017, 1022, 1023, 31744, 31745, 31750, 31751, 31800, 31801, 31806, 31807, 32704, 32705, 32710, 32711, 32760, 32761, 32766, 32767, 2064384, 2064385, 2064390, 2064391, 2064440, 2064441, 2064446, …

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, …

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