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

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

7
รายการเวอร์ชันของ Python
Python เป็นภาษาโปรแกรมหลักที่เติบโตเร็วที่สุดในปัจจุบัน มันเป็นภาษาที่ต้องการมากที่สุดสำหรับปีที่สามติดต่อกันซึ่งหมายความว่านักพัฒนาที่ยังไม่ได้ใช้มันบอกว่าพวกเขาต้องการที่จะเรียนรู้มัน [1] สาเหตุของความนิยมของ Python ก็คือหลายรุ่น [อ้างจำเป็น]มีจริง ๆ แล้วหลาม 116 รุ่นรวมทั้งสองรุ่นพัฒนา งานของคุณคือส่งออก / พิมพ์รายการเวอร์ชัน Python ทั้งหมดตามลำดับที่คุณต้องการและในรูปแบบที่คุณชอบ คุณไม่สามารถใช้ฟังก์ชันในตัวที่มีการจัดเก็บข้อมูลนี้ คุณมีอิสระในการเลือกรูปแบบการส่งออก แต่ในแต่ละรุ่นจะต้องมีการระบุไว้ในวิธีมาตรฐาน: 1.1, 2.3.0, 2.7.10และอื่น ๆ รายการที่สมบูรณ์ของเวอร์ชัน Python 2คั่นด้วยเครื่องหมายจุลภาคดังแสดงด้านล่าง: 1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, …

6
COBOL Y2K เปลี่ยนสี
ในปี 1990 วิศวกรคอมพิวเตอร์ COBOL ทำงานออกวิธีการขยายหกหลักฟิลด์วันโดยการแปลงพวกเขาไปยังYYYDDDสถานที่ที่YYYเป็นyear - 1900และเป็นวันของปีDDD โครงการนี้อาจขยายวันสูงสุดที่จะ[001 to 366]2899-12-31 ในปี 2898 วิศวกรเริ่มตื่นตระหนกเนื่องจากรหัสฐาน 900 ปีของพวกเขากำลังจะล้มเหลว ตั้งแต่ปี 2898 พวกเขาใช้เครื่องย้อนเวลาเพื่อส่ง Codeinator ที่โดดเดี่ยวไปยังปี 1998 ด้วยอัลกอริธึมนี้ ใช้โครงการPPQQRRซึ่งถ้า01 ≤ QQ ≤ 12แล้วมันเป็นมาตรฐานYYMMDDวันในปี 1900 แต่ถ้าQQ > 12แล้วมันหมายถึงวันหลังจากที่2000-01-01ในฐาน 100 PPและRRแต่ฐาน QQ - 1387 โครงการนี้ขยายออกไปไกลเกินกว่าปี 2899 และสามารถใช้ร่วมกับวันที่มาตรฐานได้ดังนั้นจึงไม่จำเป็นต้องทำการปรับเปลี่ยนที่เก็บถาวรที่มีอยู่ ตัวอย่างบางส่วน: PPQQRR YYYY-MM-DD 000101 1900-01-01 -- minimum conventional date suggested by …

30
ต่อเนื่อง 1 บิตจะเพิ่มขึ้น
กำหนดรูปแบบ (สตริงหรือรูปแบบอาร์เรย์) ของ Bits: [0,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1] ภารกิจคือการแทนที่จำนวน 1 บิตต่อเนื่องใด ๆ ด้วยลำดับตัวเลขจากน้อยไปมากเริ่มต้นที่ 1 อินพุต รูปแบบ (สามารถรับเป็นสตริงหรืออาร์เรย์) ตัวอย่าง: สตริง: 1001011010110101001 อาร์เรย์: [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1] เอาท์พุต ลำดับหมายเลขจากน้อยไปหามาก (สามารถส่งคืนเป็นสตริงหรืออาร์เรย์) ตัวอย่าง: สตริง: 1 0 0 1 0 1 2 0 …

19
การขยายตัวของวงเล็บ!
ความท้าทายของคุณคือการขยายวงเล็บบางส่วนในอินพุตของโปรแกรมตามที่แสดง: ค้นหาสตริงsระหว่างวงเล็บที่ตรงกันสองตัว[และ]มีตัวเลขnหลักหลังวงเล็บปิด ลบวงเล็บ แทนที่sด้วยตัวเองซ้ำnครั้ง (ถ้าnคือ 0 ให้ลบs ) ไปที่ขั้นตอนที่ 1 จนกว่าจะไม่มีวงเล็บที่ตรงกันในอินพุต กฎและคำชี้แจงเพิ่มเติม: คุณจะรับอินพุตและให้เอาต์พุตผ่านช่องทางที่อนุญาต บรรทัดใหม่ต่อท้ายในเอาต์พุตได้รับอนุญาต คุณต้องจัดการ ASCII ที่พิมพ์ได้ในอินพุตเท่านั้น คุณอาจจะคิดว่าวงเล็บทั้งหมดตรงกันเช่นคุณจะไม่ได้รับการป้อนข้อมูลหรือ[]]]][[[[] คุณอาจสมมติว่าวงเล็บปิดแต่ละตัว]มีตัวเลขหลังจากนั้น กรณีทดสอบ: Input -> Output [Foo[Bar]3]2 -> FooBarBarBarFooBarBarBar [one]1[two]2[three]3 -> onetwotwothreethreethree [three[two[one]1]2]3 -> threetwoonetwoonethreetwoonetwoonethreetwoonetwoone [!@#[$%^[&*(]2]2]2 -> !@#$%^&*(&*($%^&*(&*(!@#$%^&*(&*($%^&*(&*( [[foo bar baz]1]1 -> foo bar baz [only once]12 -> only once2 [only twice]23456789 -> …

19
แปลรหัสมอร์สตามระยะเวลาของเสียง
เป้าหมาย รหัสมอร์สมักจะแสดงเป็นเสียง กำหนดกระแสของบิตที่แสดงว่าเสียงเปิดหรือปิดให้แปลสตรีมเป็นตัวอักษรและตัวเลขและช่องว่าง ข้อมูลจำเพาะ สตรีมบิตถูกวิเคราะห์ตามความยาวของการทำซ้ำเปิด / ปิดบิต 1 ON บิตคือจุด 3 ON บิตเป็นเส้นประ 1 OFF บิตจะกำหนดจุดและขีดกลาง 3 OFF บิตคั่นอักขระ 7 OFF บิตคั่นคำ (ช่องว่าง) อินพุตอาจเป็นสตริงหรืออาร์เรย์ อนุญาตให้ป้อนอักขระ / ค่าที่ไม่ซ้ำกันสองตัวเท่านั้นในอินพุต (เช่น 0/1, จริง / เท็จ, จุลภาค / ช่องว่าง) เอาต์พุตส่งคืนสตริงหรือถูกพิมพ์ไปที่เอาต์พุตมาตรฐาน ตัวอย่าง Input: 101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101 Analysis: \--H--/ E \---L---/ \---L---/ \----O----/\-- --/\---W---/ \----O----/ \--R--/ \---L---/ \--D--/ …
36 code-golf  morse 

30
คุณเป็นคนแรกหรือเปล่า
ฉันรัก Cypher ง่าย ๆ มันสนุกมากที่ได้อ่านคำที่มนุษย์อ่านไม่ได้และเติมเต็มช่องว่าง ... Ot wes thi bist uf tomis, ot wes thi wurst uf tomis, ot wes thi egi uf wosdum, ot wes thi egi uf fuuloshniss, ot wes thi ipuch uf biloif, ot wes thi ipuch uf oncridaloty, ot wes thi siesun uf loght, ot wes …

22
พื้นฐาน ASCII Tallies
หัวข้อสำรอง: นับประโยคที่เรือนจำของคุณติดไว้ที่ผนัง กำหนดตัวเลขการnส่งออกนับเป็นกลุ่มแบบดั้งเดิม 5 ต่อกลุ่มและ 50 ต่อแถว ตัวอย่าง 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| …
36 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 

19
ค้นหาโซ่ Gozinta ที่แตกต่างทั้งหมด
โซ่ Gozinta (แรงบันดาลใจจากProject Euler # 606 ) ห่วงโซ่ gozinta สำหรับ n เป็นลำดับ{1,a,b,...,n}ที่แต่ละองค์ประกอบแบ่งอย่างถูกต้องต่อไป ตัวอย่างเช่นมีแปด gozinta โซ่ที่แตกต่างกันสำหรับ 12: {1,12}, {1,2,12}, {1,2,4,12}, {1,2,6,12}, {1,3,12}, {1,3,6,12}, {1,4,12} and {1,6,12}. ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก ( n > 1) และเอาท์พุทหรือส่งกลับค่าเชน gozinta ที่แตกต่างกันทั้งหมดสำหรับจำนวนที่กำหนด สั่งในเรื่องโซ่ (น้อยไปหามาก), คำสั่งของโซ่ไม่ได้ เมื่อมีโอกาสคุณจะไม่สามารถใช้ builtin ที่สามารถแก้ปัญหาได้ นี่คือรหัสกอล์ฟ แก้ไข: การลบ1เป็นอินพุตที่มีศักยภาพ

18
ความสอดคล้องหรือความไม่ลงรอยกัน?
เมื่อได้รับชื่อโน้ตสองรายการคุณจะต้องเขียนโปรแกรมที่กำหนดว่าช่วงเวลาที่เกิดขึ้นจากบันทึกย่อสองรายการนั้นสอดคล้องกันหรือไม่สอดคล้องกัน บทนำ ในเพลงตะวันตกมีเพียงเสียง "แตกต่าง" เพียง 12 เดียวเท่านั้น C, C#, D, D#, E, F, F#, G, G#, A, A#, Bชื่อของพวกเขาเรียงจากต่ำสุดไปสูงสุดเหล่านี้: ลำดับนั้นเป็นวัฏจักรคือมันจะดำเนินต่อไปกับอีกCหลังจากBนั้นอย่างไม่สิ้นสุด ระยะห่างระหว่างสองโทนสีที่เรียกว่าช่วงเวลา ช่วงเวลาใด ๆ ระหว่างสองบันทึกที่มีที่อยู่ติดกันในซีรีส์ดังกล่าวข้างต้น (เช่นC — C#หรือE — F) เรียกว่าดนตรี ช่วงเวลาระหว่างบันทึกย่อที่ห่างไกลกว่าจะถูกกำหนดเป็นจำนวนของขั้นตอน semitone ที่จำเป็นในการรับจากลำดับแรกถึงสอง (ขณะที่อาจล้อมรอบลำดับ) ตัวอย่าง: D to E= 2 semitones, C to G= 7 semitones, B to D#= 4 semitones …
36 code-golf  music 

30
ผสม pi และ e เพื่อทำพาย!
ทุกคนรู้ค่าคงที่ทางคณิตศาสตร์ของpiอัตราส่วนของเส้นรอบวงของวงกลมต่อเส้นผ่านศูนย์กลางของมัน 3.14159265358979323846264338327950288419716939937510... คุณอาจจะยังไม่ทราบeคงที่ทางคณิตศาสตร์ฐานของลอการิทึมธรรมชาติ 2.71828182845904523536028747135266249775724709369996... แต่ ... คุณรู้จักพายไหม? มันเป็นหนึ่งในค่าคงที่สำคัญที่สุด (สำหรับฉัน) มันคือตัวเลขของpiและe interleaved 32.1741185298216852385485997094352233854366206248373... เป็นการขยายทศนิยม: 3, 2, 1, 7, 4, 1, 1, 8, 5, 2, 9, 8, 2, 1, 6, 8, 5, 2... นี่คือOEIS ลำดับ A001355 คำสำคัญ: nonn, base, dumb , easy มันเป็นลำดับที่โง่มาก ท้าทาย เขียนโปรแกรม / ฟังก์ชั่นที่ใช้จำนวนเต็มไม่เป็นลบ nและออกผลลัพธ์เป็นหลักที่ n ของพาย ข้อมูลจำเพาะ กฎระเบียบมาตรฐาน …

17
ช่วงเวลาอื่นนอกเหนือจาก Optimus
ท้าทาย ได้รับจำนวนเต็มอินพุทn > 0เอาท์พุทจำนวน primes (ที่อื่น ๆกว่าnถ้าnตัวเองเป็นสำคัญ) ที่สามารถผลิตได้โดยการเปลี่ยนหนึ่งหลักในการขยายตัวของทศนิยม n (โดยไม่ต้องเปลี่ยนจำนวนตัวเลข) ตัวอย่าง ตัวอย่างเช่นn = 2. โดยการเปลี่ยนหนึ่งหลักในการขยายทศนิยมของ2เราสามารถขึ้นมาสามตัวเลขที่สำคัญเพิ่มเติมดังนั้น3, 5, 7a(n) = 3 สำหรับตัวอย่างอื่น, n = 13. โดยการเปลี่ยนหนึ่งหลักคุณจะได้รับช่วงเวลา11, 17, 19, 23, 43, 53, 73, 83ดังนั้นa(13) = 8ดังนั้น สำหรับตัวอย่างสุดท้าย, n = 20. โดยการเปลี่ยนหนึ่งหลักคุณจะได้รับช่วงเวลา23, 29ดังนั้นa(20) = 2ดังนั้น ลำดับ ต่อไปนี้เป็นคำศัพท์ 20 คำแรกที่ให้คุณเริ่มต้นได้ นี่คือ OEIS A048853 4, 3, …

22
ฉันไม่ได้ ... ฉันแค่แปลกเท่านั้น!
งานของคุณง่าย: เขียนโปรแกรมที่รับจำนวนเต็มเป็นอินพุทและเอาท์พุทถ้ามันแปลกและไม่ทำอะไรเลย (ไม่อนุญาตให้หยุด) ความท้าทายคือคุณสามารถใช้ไบต์คี่เท่านั้น คุณสามารถเลือกเพิ่มบรรทัดใหม่ต่อท้ายไปยังเอาต์พุต นี่คือ code-golf คำตอบที่สั้นที่สุดเป็นไบต์ (คี่) ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นอกจากนี้คุณไม่สามารถใช้เวอร์ชันภาษาซึ่งใหม่กว่าการโพสต์ความท้าทายนี้ ตัวอย่างอินพุต> เอาต์พุต: 13 > 13 42 >

24
สองครั้งไม่ใช่สองครั้ง
ขึ้นอยู่กับความท้าทายนี้ ในจังหวะเกมosu! ตัวดัดแปลงความยากลำบาก "สองครั้ง" จะเพิ่มความเร็วเพียง 50% เท่านั้น งานของคุณคือการเขียนโปรแกรมที่ผลบวกแม้จำนวนเต็ม (สูงกว่า 0) และเมื่อแต่ละไบต์ / ตัวอักษร (ที่คุณเลือกที่) ในรหัสต้นฉบับของคุณซ้ำก็ควรส่งออกจำนวนคูณด้วย 1.5 ตัวอย่างเช่นหากซอร์สโค้ดของคุณคือABCและเอาต์พุต 6 ดังนั้นAABBCCควรเอาต์พุต 9 ปฏิบัติตามกฎการท้าทายดั้งเดิม: กฎระเบียบ คุณต้องสร้างโปรแกรมเต็มรูปแบบ แหล่งที่มาเริ่มต้นจะต้องมีความยาวอย่างน้อย 1 ไบต์ จำนวนเต็มทั้งสองต้องอยู่ในฐาน 10 (ห้ามส่งออกในฐานอื่นหรือด้วยเครื่องหมายทางวิทยาศาสตร์เป็นสิ่งต้องห้าม) โปรแกรมของคุณจะต้องไม่รับอินพุต (หรือมีอินพุตที่ไม่ได้ใช้และว่างเปล่า) และต้องไม่เกิดข้อผิดพลาด (คำเตือนของคอมไพเลอร์จะไม่ถือว่าเป็นข้อผิดพลาด) อนุญาตให้แสดงเอาต์พุตจำนวนเต็มด้วยการเว้นวรรคต่อท้าย / นำหน้า คุณไม่สามารถรับบรรทัดใหม่ระหว่างสำเนาของแหล่งที่มาของคุณ นี่คือโค้ดกอล์ฟดังนั้นไบต์ที่น้อยที่สุดในแต่ละภาษาจะชนะ! มีการใช้ช่องโหว่เริ่มต้น ฉันคิดว่านี่จะไม่สำคัญน้อยไปกว่าความท้าทายดั้งเดิม แต่หวังว่าเราจะเห็นคำตอบที่สร้างสรรค์และไม่เหมือนใคร!

21
หมายเลขเดิม
แนวทาง สถานการณ์ จอห์นมีหมายเลขสำคัญและเขาไม่ต้องการให้คนอื่นเห็น เขาตัดสินใจเข้ารหัสหมายเลขโดยใช้ขั้นตอนต่อไปนี้: จำนวนของเขาเป็นลำดับที่ไม่ลดลงเสมอ (เช่น"1123") เขาแปลงแต่ละหลักให้เป็นคำภาษาอังกฤษ (เช่น. "123" -> "ONETWOTHREE") จากนั้นจัดเรียงตัวอักษรแบบสุ่ม (เช่น. "ONETWOTHREE" -> "ENOWTOHEETR") จอห์นรู้สึกว่าหมายเลขของเขาปลอดภัยในการทำเช่นนั้น ในความเป็นจริงการเข้ารหัสดังกล่าวสามารถถอดรหัสได้อย่างง่ายดาย :( งาน รับสายอักขระที่เข้ารหัสลับ s งานของคุณคือการถอดรหัสและส่งกลับหมายเลขเดิม กฎระเบียบ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดเป็นไบต์ชนะ คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตนั้นใช้ได้เสมอ สตริงอินพุตมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่เท่านั้น หมายเลขดั้งเดิมจะเรียงตามลำดับจากน้อยไปมาก คุณอาจส่งคืนตัวเลขในรูปแบบสตริงหรือจำนวนเต็ม ตัวอักษรจะถูกสับระหว่างคำเดียวไม่ใช่ระหว่างทั้งสตริง ตัวเลขจะมาจาก 1 ถึง 9 รวม ( ONEถึงNINE) สตริง Unscrambled ที่เป็นไปได้ นี่คือรายการของสตริงหลังจากแปลงเป็นสตริงจากตัวเลข: 1 -> ONE 2 -> TWO 3 -> THREE …

15
ฉันจะหงายท้อง?
ภาพรวม รับสาย 3 สายคิดออกว่าโครงสร้างตกไปทางซ้ายยอดคงเหลือหรือตกไปทางขวา โครงสร้างอินพุต คุณสามารถนึกภาพโครงสร้างเป็นแท่งโลหะที่มีสิ่งต่าง ๆ อยู่ด้านบนทั้งหมดล้วนมีความสมดุลที่ด้านบนของแกนตั้ง 1 7 4 a =============== | บรรทัดแรกคือรายการ น้ำหนักของแต่ละรายการจะถูกคำนวณเป็นค่า ascii ของตัวละครลบ 32 (ไม่พิจารณาตัวละครที่อายุต่ำกว่า 32 และเว้นวรรคที่มีน้ำหนัก 0) โปรดจำไว้ว่าแรงของสิ่งของบนแกนคือน้ำหนักของมันคูณระยะทางถึงจุดหมุน บรรทัดที่สองคือคัน ความยาวของแท่งแต่ละอันมีน้ำหนัก 1 หน่วย บรรทัดนี้เท่ากับเครื่องหมาย ( =) เท่านั้น บรรทัดที่สามคือจุดหมุน สามารถวางได้ทุกที่และแสดงเป็นจำนวนของช่องว่างตามด้วย|อักขระไปป์เดียว ( ) ตัวอย่าง การป้อนข้อมูล: ===== | ผลลัพธ์: ยอดคงเหลือ การป้อนข้อมูล: ===== | เอาท์พุท: ตกเหลือ การป้อนข้อมูล: % ===== …

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