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

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

30
สร้าง Magic 8 Ball
เมื่อตอนเป็นเด็กเพื่อนของฉันมีลูกบอลวิเศษ 8 ลูกที่เราจะถามคำถามและดูว่าชะตากรรมของคำถามนั้นคืออะไร ท้าทาย ความท้าทายของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่เมื่อรัน (หรือเรียกว่า) เอาต์พุต (หรือส่งคืน) คำตอบแบบสุ่มจากคำตอบที่เป็นไปได้ด้านล่าง (Random เป็น: each output should have a nonzero chance of occurring but they do not need to meet any other criteria) คำตอบที่เป็นไปได้จาก Magic 8-ball คือ (case-insensitive): It is certain It is decidedly so Without a doubt Yes definitely You …

11
ฉันฉีกออกเป็นกี่หน้า?
เดือนที่แล้วฉันยืมหนังสือมากมายจากห้องสมุด พวกเขาทั้งหมดเป็นหนังสือที่ดีเต็มไปด้วยอารมณ์และพล็อตเรื่องบิด น่าเสียดายที่ในบางจุดฉันโกรธ / เศร้า / ผิดหวังมาก ตอนนี้ห้องสมุดอยากรู้ว่าฉันฉีกหนังสือแต่ละเล่มออกไปกี่หน้า เป้าหมายของคุณคือการเขียนโปรแกรมซึ่งใช้การเรียงลำดับรายการที่คั่นด้วยเครื่องหมายจุลภาคเป็นอินพุตและพิมพ์จำนวนหน้าต่ำสุดและสูงสุดที่เป็นไปได้ที่ฉันสามารถฉีกออกได้ แต่ละบรรทัดแสดงถึงหนังสือแต่ละหมายเลขแสดงถึงหน้าที่หายไปจากหนังสือ อินพุตตัวอย่าง: 7,8,100,101,222,223 2,3,88,89,90,103,177 2,3,6,7,10,11 1 1,2 ตัวอย่างผลลัพธ์: 4/5 5/6 3/6 1/1 1/2 4/5หมายความว่าฉันอาจฉีกออกเป็น 4 หรือ 5 หน้าขึ้นอยู่กับว่าหมายเลขหน้าของหนังสือเริ่มต้นที่ด้านใด อาจมีการฉีกขาดหน้า 6/7 หน้า 8/9 หน้า 100/101 และหน้า 222/223 (4 หน้า) อีกวิธีหนึ่งอาจมีการฉีกขาดหน้า 7/8, หน้า 99/100, หน้า 101/102, หน้า 221/222 และหน้า 223/224 (5 หน้า) จำไว้ว่าหน้าหนังสือมีด้านหน้าและด้านหลังเสมอ …
34 code-golf 

30
Code Golf: งู ASCII สัตว์เลี้ยงของคุณเอง
ดังนั้นฉันจึงเขียนหนึ่งสายการบินซึ่งพิมพ์งูบนคอนโซล มันสนุกนิดหน่อยและฉันสงสัยว่าฉันจะย่อรหัสของฉันได้อย่างไร ... นี่คือตัวอย่างเอาต์พุต (สั้น): + + + + + + + + + + + + + + + + + + + + นี่คือรายละเอียด: ในแต่ละบรรทัดจะมีการพิมพ์อักขระที่ไม่ใช่ whitespace เดียว (แล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) ลงในคอนโซลโดยเริ่มจากการเว้นระยะห่างระหว่าง 29 ถึง 31 ช่องว่างทางด้านซ้าย การวนซ้ำแต่ละครั้งจะทำการตัดสินใจแบบสุ่มระหว่างการกระทำทั้งสามนี้ จำนวนของช่องว่างภายในลดลง 1 ปริมาณของช่องว่างภายในยังคงเหมือนเดิม ปริมาณของช่องว่างภายในเพิ่มขึ้น 1 ทำสิ่งนี้ 30 ครั้งเพื่อพิมพ์งูยาว 30 เซ็กเมนต์ให้คอนโซล คำตอบที่สั้นที่สุดเป็นไบต์ชนะ

21
ตัวเลขที่ง่ายต่อการคูณ
งานของคุณคือการพิจารณาว่าตัวเลขสองตัวนั้นง่ายต่อการคูณหรือไม่ ซึ่งหมายความว่าการคูณยาว 10 ฐานของพวกเขาไม่มีการถือครอง (การจัดกลุ่มใหม่) ระหว่างค่าสถานที่โดยดูที่ขั้นตอนการคูณและขั้นตอนการบวก สิ่งนี้จะเกิดขึ้นเมื่อตัวเลขแต่ละคู่ถูกคูณให้ 9 หรือน้อยกว่าและผลรวมของแต่ละคอลัมน์คือ 9 หรือน้อยกว่า ตัวอย่างเช่น331และ1021ง่ายต่อการคูณ: 331 x 1021 ------ + 331 662 0 331 ------ 337951 และเหมือนกันคือจริง (เช่นเคย) ถ้าเราคูณในลำดับอื่น ๆ : 1021 x 331 ------ + 1021 3063 3063 ------ 337951 แต่431และ1021ไม่ใช่เรื่องง่ายที่จะคูณด้วยการดำเนินการเกิดขึ้นระหว่างคอลัมน์ที่ระบุ: 431 x 1021 ------ + 431 862 0 431 ------ 440051 …

18
26 นักร้อง 26 ตัวอักษร
ตามที่RollingStoneด้านล่างเป็นนักร้องที่ยิ่งใหญ่ที่สุดตลอดกาล 26 คน: Aretha Franklin Al Green Ray Charles Robert Plant Elvis Presley Mick Jagger Sam Cooke Tina Turner John Lennon Freddie Mercury Marvin Gaye Bob Marley Bob Dylan Smokey Robinson Otis Redding Johnny Cash Stevie Wonder Etta James James Brown David Bowie Paul McCartney Van Morrison Little Richard Michael …

22
ระเบิดสตริง
รับสายใด ๆ พิมพ์ในรูปแบบของรูปสามเหลี่ยมที่ข้อความวิ่งขึ้นและลงตามแนวทแยงแต่ละ ตัวอย่างเช่นอินพุตของ"Hello World"เอาต์พุตควร: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l …

30
เลิกทำการช่วงของตัวเลข
มันค่อนข้างง่ายที่จะได้รับจำนวนnสร้างช่วงจากไป0 n-1ในความเป็นจริงหลายภาษาให้การดำเนินการนี้เป็นแบบ builtin โปรแกรม CJam ต่อไปนี้อ่านจำนวนเต็มแล้วพิมพ์ช่วงดังกล่าวออกมา ( ลองออนไลน์! ): ri, โปรดสังเกตว่ามันพิมพ์ตัวเลขโดยไม่มีตัวคั่น ความท้าทาย งานของคุณคือการย้อนกระบวนการนี้ คุณควรเขียนโปรแกรมที่ให้สตริงที่เป็นตัวแทนของช่วงส่งกลับจำนวนที่ใช้ในการผลิตช่วงนั้น ข้อมูลจำเพาะ ตัวเลขจะถูกกำหนดโดยไม่มีตัวคั่นใด ๆ คุณอาจจะถือว่าสตริงเป็นช่วงที่ถูกต้อง คุณอาจใช้การจัดทำดัชนี 0- หรือ 1 ตามช่วงของคุณ คุณอาจคิดว่าเอาต์พุตที่ถูกต้องจะไม่เกิน 32,767 (ดังนั้นอินพุตที่ถูกต้องจะไม่มีความยาวมากกว่า 152,725) คุณอาจคิดว่าผลลัพธ์ที่ถูกต้องจะเป็นค่าบวกเสมอ (ดังนั้นคุณไม่ต้องจัดการกับ 0 หรือลบ) นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดของการแข่งขัน (วัดเป็นไบต์) ชนะ กรณีทดสอบ 0 การจัดทำดัชนี: 0123 -> 4 0 -> 1 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101 1 การจัดทำดัชนี: 1234 -> …

30
Reverse Array Sum
โปรแกรมของคุณควรใช้อาร์เรย์เป็นอินพุต อาร์เรย์: จะเป็น 1 มิติเสมอ จะมีจำนวนเต็มเท่านั้น สามารถว่างเปล่า โปรแกรมควรย้อนกลับอาร์เรย์แล้วเพิ่มองค์ประกอบเข้ากับต้นฉบับเช่น: การป้อนข้อมูล: [1, 2, 3] เดิม: [1, 2, 3] ย้อนกลับ [3, 2, 1] [1, 2, 3] + + + [3, 2, 1] [1+3, 2+2, 3+1] เอาท์พุท: [4, 4, 4] กรณีทดสอบ: #In #Out [8, 92], [100, 100] [1, 2, 3], [4, 4, 4] [5, …

30
ตัวกำหนดเมทริกซ์จำนวนเต็ม
รับเมทริกซ์จำนวนเต็มจตุรัสเป็นอินพุตให้ส่งออกดีเทอร์มิแนนต์ของเมทริกซ์ กฎระเบียบ คุณอาจสมมติว่าองค์ประกอบทั้งหมดในเมทริกซ์ดีเทอร์มิแนนต์ของเมทริกซ์และจำนวนองค์ประกอบทั้งหมดในเมทริกซ์อยู่ในช่วงของจำนวนเต็มที่แทนได้สำหรับภาษาของคุณ อนุญาตให้แสดงค่าทศนิยม / ทศนิยมด้วยส่วนที่เป็นเศษส่วนของ 0 (เช่น42.0แทน42) อนุญาตให้สร้างบิลด์ได้ แต่ขอแนะนำให้คุณรวมโซลูชันที่ไม่ใช้บิวอิน กรณีทดสอบ [[42]] -> 42 [[2, 3], [1, 4]] -> 5 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> 0 [[13, 17, 24], [19, 1, 3], [-5, 4, 0]] -> 1533 [[372, -152, 244], [-97, -191, 185], [-53, -397, …

22
สร้างเมืองให้ฉัน
โคเดอร์มักจะพยายามทำให้อาร์เรย์เป็นหน่วยมิติที่น่าเบื่อและทำให้ฉันเศร้า งานของคุณคือการคลายตัวอักษรตามอำเภอใจโดยไม่แสดงตัวออกมาทำให้เมืองน่ารัก พิจารณาสตริง: aaabbbbbccqrrssstttttttPPw มันดูดีกว่านี้มาก: tt tt bb tt bb tt aabb sstt aabbcc rrssttPP aabbccqqrrssttPPww (โอเคใช่ตัวอักษรนั้นซ้ำกันเพื่อทำให้ดูเมืองเส้นขอบฟ้ามากขึ้น) ใช้สตริงอินพุตทำซ้ำส่วนย่อยของอักขระที่ตรงกัน (ไม่จำเป็นต้องเป็นตัวอักษรและ) และสร้างเมืองให้ฉัน! ไบต์รหัสสั้นที่สุดชนะ จริง ๆ แล้วฉันคิดว่าฉันมีข้อกำหนดที่ต้องจับ แต่เพื่อตอบคำถาม: มันจะต้องอยู่บนพื้นดิน คุณสามารถมีท้องฟ้าเพิ่มถ้าคุณต้องการ (นำบรรทัดว่างรอบ ๆ พื้นที่ว่าง) - แต่ไม่ระหว่างอาคาร ตัวอักษรสามารถนำกลับมาใช้ใหม่ภายในสตริง (สถาปัตยกรรมเดียวกันสถานที่ต่างกัน) ตัวอักษรนั้นถือว่าเป็น ASCII แต่จะมีการมอบไหวพริบเพิ่มเติมให้กับผู้ที่สนับสนุนการเข้ารหัสเพิ่มเติม (UTF8 เป็นต้น)

17
ไขงูให้ฉันหน่อย!
กำหนดจำนวนเต็มอินพุทnวาดงูตัวเลขนั่นคือการวัดแบบตารางที่n x nประกอบด้วยตัวเลข1ผ่านทางn^2ที่บาดแผลซึ่งกันและกันในลักษณะต่อไปนี้: อินพุตn = 3: 7 8 9 6 1 2 5 4 3 อินพุตn = 4: 7 8 9 10 6 1 2 11 5 4 3 12 16 15 14 13 อินพุตn = 5: 21 22 23 24 25 20 7 8 9 10 19 6 1 …
34 code-golf 

30
คูณสตริงด้วยตัวเลข!
มีเรื่องที่ท้าทายมานานแล้วเกี่ยวกับการคูณสตริง มันแสดงให้เราเห็นว่าเราสามารถคูณตัวเลขได้ไม่เพียง แต่ยังรวมถึงสตริงด้วย อย่างไรก็ตามเรายังไม่สามารถคูณจำนวนด้วยสตริงได้อย่างถูกต้อง มีความพยายามครั้งหนึ่งที่จะทำเช่นนั้น แต่สิ่งนี้ผิดอย่างเห็นได้ชัด เราจำเป็นต้องแก้ไขมัน! งานของคุณ: เขียนฟังก์ชั่นหรือโปรแกรมที่ทวีคูณสองอินพุตสตริงและจำนวนเต็ม ในการ (คูณ) สตริงด้วยจำนวนเต็มคุณต้องแบ่งสตริงออกเป็นอักขระทำซ้ำอักขระแต่ละตัวในจำนวนครั้งเท่ากับจำนวนเต็มแล้วติดอักขระกลับเข้าด้วยกัน ถ้าจำนวนเต็มเป็นลบเราจะใช้ค่าสัมบูรณ์ของมันในขั้นตอนแรกแล้วย้อนกลับสตริง ถ้าอินพุตเป็น 0 เอาต์พุตจะไม่มีอะไร (อะไรก็ตามคูณด้วย 0 เท่ากับอะไร) การป้อนข้อมูล: สตริงที่ประกอบด้วยตัวอักษร ASCII ที่พิมพ์ได้และการขึ้นบรรทัดใหม่และเลขจำนวนเต็ม (ค่าลบที่เป็นไปได้) เอาท์พุท: สตริงคูณด้วยจำนวนเต็ม ตัวอย่าง: Hello World!, 3 --> HHHeeellllllooo WWWooorrrlllddd!!! foo, 12 --> ffffffffffffoooooooooooooooooooooooo String, -3 --> gggnnniiirrrtttSSS This is a fun challenge, 0 --> Hello World!, …

16
ตัวสร้างรหัสผ่าน XKCD
บทนำ เห็นได้ชัดว่าคำถามนี้ถูกถามที่นี่และมันปิดอย่างน่าเสียดาย ฉันคิดว่ามันเป็นความคิดที่ดีที่จะลองอีกครั้ง แต่ทำถูกต้อง XKCDดูที่วิธีการที่เราได้รับการฝึกฝนให้ใช้ "รหัสผ่านที่จำยาก" โดยคิดว่าปลอดภัย แต่ใช้เวลาคอมพิวเตอร์ 3 วันในการถอดรหัส ในทางกลับกันการจดจำความยาว 4-5 คำจะทำให้รหัสผ่านของควน Intropy อัพและง่ายต่อการจดจำ บ้าแล้วมันใช้ได้ยังไงเหรอ? ท้าทาย งานวันนี้คือสร้างรหัสผ่าน 5 คำโดยใช้คำ 4 คำต่อรหัสผ่านและอย่างน้อย 4 ตัวอักษรต่อคำ แต่ไม่เกิน รหัสผ่านของ Kuan จะต้องมีการคำนวณสำหรับทุกรหัสผ่าน แต่จะไม่ได้ตั้งค่าขั้นต่ำที่บังคับ รหัสผ่านของควน Intropy คืออะไร? รหัสผ่านของ Kuan Intropy เป็นการวัดว่ารหัสผ่านไม่สามารถคาดเดาได้ มีการคำนวณง่ายๆคือE = เข้าสู่ระบบ2 (R) * L E เป็นรหัสผ่านของ Kuan Intropy, R เป็นช่วงของอักขระที่มีอยู่และ L สำหรับความยาวรหัสผ่าน …
34 code-golf  math 

30
แทรกตัวเลขจาก 1 ถึง n โดยมีหมายเลขเดียวกันกลับด้าน
ง่าย ๆ : ใช้เป็นจำนวนเต็มบวกnน้อยกว่า 1,000 และเอาท์พุทจำนวนเต็มจาก1ไปnบรรณนิทัศน์กับจำนวนเต็มจากnไป1 คุณต้องต่อหมายเลขเพื่อให้ปรากฏโดยไม่มีตัวคั่นระหว่างใด ๆ กรณีทดสอบ: n = 1 11 n = 4 14233241 n = 26 12622532442352262172081991810171116121513141413151216111710189198207216225234243252261 n = 100 110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001 นี่คือโค้ดกอล์ฟเพื่อการส่งที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ คำอธิบายได้รับการสนับสนุน

8
อ่าน ASCII-Art Text
แรงบันดาลใจจากGolf ฉันเป็นตัวอักษร ASCIIซึ่งความท้าทายนี้ (เกือบ) ตรงกันข้ามโดยตรง งาน: ใช้สตริงของข้อความ ASCII-art และส่งออกเนื้อหาของข้อความเป็นข้อความ ASCII ปกติ การป้อนข้อมูล: สตริงของข้อความศิลปะ ASCII ข้อมูลที่ป้อนจะมีอินสแตนซ์ของอักขระ ASCII #ช่องว่างและขึ้นบรรทัดใหม่ 4 หรือ 5 บรรทัดเท่านั้น ทุกบรรทัดมีความยาวเท่ากัน (นั่นคือตัวอักษร ASCII-art ตัวสุดท้ายจะถูกเติมด้วยช่องว่างต่อท้าย) คุณสามารถใช้อักขระ ASCII ที่พิมพ์ได้อื่นแทน#การป้อนข้อมูลหากคุณต้องการ ข้อมูลที่ป้อนจะมีตัวอักษรA-ZASCII-art และช่องว่าง ASCII-art (ช่องว่าง 5x5 บล็อก) ไม่มีเครื่องหมายวรรคตอน มีข้อความศิลปะ ASCII เพียงบรรทัดเดียวเท่านั้น (5 บรรทัดจริง) จะไม่มีช่องว่างต่อท้ายหรือนำหน้าด้วย ASCII และจะไม่มีช่องว่าง ASCII-art ที่อยู่ติดกัน ขนาดตัวอักษรคือ 5x5 ตัวอักษร มีช่องว่างระหว่างตัวอักษรแต่ละตัว 1x5 …

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