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

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

23
จัดแนวเส้น!
จัดแนวเส้น! ให้ตัวละครและสตริงหลายงานของคุณคือการรองแต่ละบรรทัดของสตริงเพื่อให้พวกเขาเข้าแถวท่ามกลางตัวคั่นที่กำหนด ตัวอย่าง การป้อนข้อมูล: , Programming, Puzzles And, Code golf เอาท์พุท: Programming, Puzzles And, Code golf อินพุต การป้อนข้อมูลจะเป็นสตริงหลายบรรทัดและตัวละคร (ซึ่งคุณจะจัดชิด) คุณอาจใช้สิ่งเหล่านี้ในลำดับ / รูปแบบที่คุณต้องการ ตัวละครจะปรากฏขึ้นหนึ่งครั้งต่อบรรทัด แต่ละบรรทัดของอินพุตอาจมีความยาวแตกต่างกัน อินพุตสามารถผ่านอาร์กิวเมนต์ของฟังก์ชันหรือ STDIN เอาท์พุต เอาต์พุตควรเป็นสตริงเดียวกันที่อยู่กึ่งกลาง คุณได้รับอนุญาตให้ขึ้นบรรทัดใหม่หนึ่งบรรทัดและไม่มีช่องว่างต่อท้าย เอาต์พุตควรถูกเสริมด้วยจำนวนช่องว่างขั้นต่ำ คุณไม่สามารถลบช่องว่างนำหน้าในอินพุต (ถ้ามี) เอาต์พุตอาจมาจากฟังก์ชันส่งคืนหรือ STDOUT

3
ใช้ PCG
สิ่งที่เป็นปัญหาที่ดีกว่าสำหรับ PCG.SE กว่าที่จะใช้PCG, ที่ดีกว่าการสร้างตัวเลขสุ่ม ? กระดาษใหม่นี้อ้างว่าจะนำเสนอตัวสร้างตัวเลขสุ่มแบบสุ่มที่รวดเร็วและคาดเดายาก การใช้ C น้อยที่สุดนั้นมีอยู่แค่เก้าบรรทัด // *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org // Licensed under Apache License 2.0 (NO WARRANTY, etc. see website) typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; uint32_t pcg32_random_r(pcg32_random_t* rng) { uint64_t oldstate = rng->state; // …
31 code-golf  random 

13
วาดผ้าห่มศิลปะ ASCII แบบสุ่ม
สำหรับความท้าทายนี้ผ้าห่มศิลปะ ASCII จะเป็นบล็อกของข้อความกว้าง 24 ตัวอักษรและสูง 18 บรรทัดซึ่งประกอบด้วยอักขระ=-<>/\ในรูปแบบคล้ายผ้าห่มที่มีทั้งแนวนอนและแนวตั้งสมมาตร ผ้าห่มตัวอย่าง: ======================== ------------------------ //\\//\\\//\/\\///\\//\\ <<><<>>>>><<>><<<<<>><>> /\\/\\\\/\/\/\/\////\//\ ------------------------ /\/////\\///\\\//\\\\\/\ \///\/\/\\\\////\/\/\\\/ \///\/\/\\\\////\/\/\\\/ /\\\/\/\////\\\\/\/\///\ /\\\/\/\////\\\\/\/\///\ \/\\\\\//\\\///\\/////\/ ------------------------ \//\////\/\/\/\/\\\\/\\/ <<><<>>>>><<>><<<<<>><>> \\//\\///\\/\//\\\//\\// ------------------------ ======================== ผ้าห่มทั้งหมดมีรูปแบบเดียวกัน: พวกเขามักจะ 24 ถึง 18 บรรทัดบนสุด (บรรทัดที่ 1) และบรรทัดล่างสุด (บรรทัดที่ 18) อยู่=ตลอดทาง บรรทัดที่ 2, 6, 13 และ 17 -ล้วนผ่านมาแล้ว สาย 4 และ 15 จะเหมือนกันสุ่มสมมาตรแนวนอนรูปแบบของและ<> …

7
ลูกเต๋าเหล่านี้ไม่มีการถ่ายทอดหรือไม่?
ลูกเต๋าที่ไม่ผ่านกรรมเป็นของเล่นเล็ก ๆ ที่ท้าทายความสามารถของเราในทฤษฎีความน่าจะเป็น เราต้องการคำจำกัดความเล็กน้อยสำหรับความท้าทายนี้: พิจารณาลูกเต๋าสองลูกAและBที่ถูกโยนในเวลาเดียวกัน เราบอกว่าเต้นBถ้าความน่าจะเป็นของแสดงจำนวนขนาดใหญ่กว่าBเป็นอย่างเคร่งครัดมากกว่าความน่าจะเป็นของBแสดงเป็นตัวเลขที่มากกว่า ตอนนี้พิจารณาชุดของสามลูกเต๋าที่มีป้ายชื่อ, B , C ชุดของลูกเต๋าดังกล่าวเรียกว่าไม่ผ่านกรรมวิธีถ้า ทั้งAเต้นB , Bเต้นCและCเต้นA หรือCเต้นB , Bเต้นและเต้นC เป็นหนึ่งในตัวอย่างโปรดของฉันพิจารณาลูกเต๋า Grimeซึ่งมีด้านต่อไปนี้: A: 3 3 3 3 3 6 B: 2 2 2 5 5 5 C: 1 4 4 4 4 4 น่าสนใจค่าเฉลี่ยของการตายแต่ละครั้งเท่ากับ 3.5 เหมือนกับการตายปกติ สามารถแสดงให้เห็นว่า: เต้นBที่มีความน่าจะเป็นของ 7/12 Bเต้นCด้วยความน่าจะเป็นที่ 7/12 Cเต้นAด้วยความน่าจะเป็นที่ 25/36 …

30
ทำรายการทุกครั้งในวันนี้ด้วยอัตราครึ่งชั่วโมง
คำตอบที่สั้นที่สุดชนะ มันจะต้องถูกจัดเรียงและในเวลา 24 ชั่วโมง บรรทัดสุดท้ายไม่มีเครื่องหมายจุลภาค ผลลัพธ์ควรเป็นดังนี้: '00:00', '00:30', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30', '04:00', '04:30', '05:00', '05:30', '06:00', '06:30', '07:00', '07:30', '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00', '19:30', '20:00', '20:30', '21:00', '21:30', …

23
คำนวณคะแนนในเกม "sjoelen"
โอเคดังนั้นเมื่อวานนี้เป็นวันคริสต์มาสที่ 2 และผู้ปกครองของฉันและฉันมีเกม "sjoelen" ตามที่ถูกเรียกในเนเธอร์แลนด์ โปรแกรมเมอร์ชั้นในเข้ามาหาฉัน แต่เมื่อฉันได้รับคำตอบฉันก็ทำมันหาย ฉันต้องการให้คุณสร้างใหม่ กฎระเบียบ: คุณมีแผ่นไม้sjoelbakมี 4 กล่องแต่ละกล่องมีหมายเลขของตัวเอง เมื่อschijf (วัตถุคล้ายเด็กซน) ไปในกล่องใดกล่องหนึ่งคุณจะได้รับคะแนนเหนือกล่องนั้น เมื่อมีschijfในทั้ง 4 กล่องคุณจะไม่ได้รับ 10 แต่คุณจะได้ 20 คะแนน ตัวอย่าง: จากซ้ายไปขวา: 3 5 4 3 แต่ละกล่องมีอย่างน้อย 3 schijven (พหูพจน์ของschijf ) ดังนั้นนั่นคือ 20 * 3 = 60 คะแนน ค่าผลลัพธ์: 0 2 1 0 0 * 2 + 2 …

7
ฝึกซ้อมกอล์ฟ: Python [ปิด]
นี่เป็นความท้าทายของการฝึกฝนการเพิ่มประสิทธิภาพของกอล์ฟใน Python ซึ่งเป็นเทคนิคและทางลัดที่นำมาใช้ซ้ำเพื่อกำจัดอักขระบางตัว หลายคนจะคุ้นเคยกับนักกอล์ฟงูหลามและใช้ความคิดร่วมกันจากเคล็ดลับหลาม คุณลักษณะเหล่านี้บางอย่างใช้คุณสมบัติเฉพาะของ Python ที่คุณอาจไม่ทราบว่ามีอยู่เว้นแต่คุณจะเห็นคุณลักษณะเหล่านี้ดังนั้นให้ดูที่เคล็ดลับหากคุณติดขัด เป้าหมาย: มีปัญหาสิบประการแต่ละตัวอย่างข้อมูลอ้างอิงของรหัส Python เพื่อให้คุณสามารถปรับให้เหมาะสมและคำอธิบายของรหัสจะเกิดขึ้น เป้าหมายของคุณคือเขียนใหม่ให้สั้นลง แต่ยังเทียบเท่ากับการใช้งานได้ คะแนนของคุณซึ่งคุณกำลังพยายามย่อให้เล็กสุดคือความยาวทั้งหมดของโค้ดของคุณตัวอย่างทั้งหมด ความยาวของตัวอย่างข้อมูลอ้างอิงคือ 150 Tiebreaker เป็นโพสต์แรกสุด การโพสต์คำตอบ:สำหรับแต่ละปัญหาให้โพสต์โค้ดและจำนวนตัวอักษร คุณสามารถโพสต์ข้อมูลอ้างอิงได้หากคุณไม่พบข้อมูลที่สั้นลง คุณตั้งใจจะไม่ดูคำตอบของคนอื่นเมื่อคุณโพสต์ โปรดติดแท็กสปอยเลอร์แต่ละปัญหารวมถึงจำนวนตัวละครแต่ละตัว คุณสามารถออกจากการนับทั้งหมดที่เปิดเผย อย่าลังเลที่จะยกเลิกการแก้ปัญหาของคุณตอนนี้หรือโพสต์โซลูชั่นใหม่ที่ไม่ทำลาย รายละเอียดเกี่ยวกับความถูกต้องตามกฎหมาย: การทำงานที่เท่าเทียมกันหมายถึงรหัสสามารถถูกแทนที่ในโปรแกรมโดยไม่มีผลกระทบต่อพฤติกรรมของมัน (ไม่สนใจสิ่งต่าง ๆ เช่นการใช้หน่วยความจำและความสำคัญของโอเปอเรเตอร์ ==การแสดงออกควรผลิตที่มีค่าเทียบเท่าโดย 1.0==1==Trueโปรดสังเกตว่า รหัสของคุณไม่ควรมีผลข้างเคียงเว้นแต่จะระบุไว้เป็นอย่างอื่น ฉันไม่ได้ตั้งใจที่จะให้ปัญหาเฉพาะรุ่น แต่ในกรณีที่คุณสามารถระบุรุ่น Python สำหรับแต่ละปัญหา ปัญหาที่ 1:วนซ้ำอย่างต่อเนื่องตราบใดที่รายการLมีองค์ประกอบอย่างน้อย 7 รายการ # 16 chars while len(L)>=7: ปัญหาที่ 2 : ตรวจสอบว่าทั้งสองลอยxและyทั้งสองเป็นบวก # …
31 code-golf  python 

5
พิพิธภัณฑ์สัตว์น้ำ One Line
พ่อแม่ผัวของฉันมีบ่อปลาในบ้านของพวกเขาเต็มไปด้วยปลาคราฟ มันไม่ได้ข้ามความคิดของฉันจนกว่าฉันจะสังเกตเห็นสารสกัดต่อไปนี้จากรหัสของฉัน ',') & '_' ... ฉันหันหน้าเข้าหาปลาจากหน้าจอของฉัน ... ซึ่งทำให้ฉันมีความคิดที่ดี ... การแสวงหาของฉันสำหรับคุณนักกอล์ฟที่รักของฉันคือการสร้างตู้ปลา ASCII แบบบรรทัดเดียวด้วยกฎต่อไปนี้: ขนาดของตู้ปลาจากด้านข้างของถังไปยังอีกด้านหนึ่งของถังควรมีขนาดไม่เกิน 60 ตัวอักษรและไม่ควรใหญ่กว่า 80 ตัวอักษร ต้องระบุด้านของถังโดยใช้ท่อ / บาร์ (|ตัวอักษร ) ปลาจะต้องสามารถ "ว่ายน้ำ" จากซ้ายไปขวาระหว่างด้านข้างของถัง ขณะที่พวกเขากำลังจะหมุนจำเป็นต้องมีมุมมองด้านหน้าสำหรับการเปลี่ยนจากทิศทางหนึ่งไปยังอีกทิศทางหนึ่ง ปลาต้องมีลักษณะดังนี้: }}< }} ',') ปลาว่ายน้ำถูกต้อง (',' {{ >{{ ปลาว่ายซ้าย }}('_'){{ ปลาหันหน้าไปทางด้านหน้า เมื่อปลาหันไปเปลี่ยนทิศทาง (โอกาส 30%) มันจะต้องเริ่มจากทิศทางเดียวหันหน้าไปทางด้านหน้าจากนั้นหันไปอีกทิศทางหนึ่ง ... ตรวจสอบให้แน่ใจว่ามีที่ว่างเพียงพอสำหรับปลาที่จะเปิด ขอบของรถถังขั้นต่ำ ... หากปลาไม่ได้เป่าฟองหรือเปลี่ยนทิศทางมันจะดำเนินต่อไปในทิศทางที่มันกำลังเผชิญหากมันได้รับภายในหกช่องว่างด้านข้างของถังมันจะเปลี่ยนทิศทาง ปลา (หันหน้าไปทางซ้ายหรือขวา) ในบางโอกาส …

25
มีที่อยู่ IP เท่าใดในช่วงที่กำหนด
เเรงบันดาลใจจาก... ระบบเครือข่าย - ฉันจะทราบได้อย่างไรว่ามีที่อยู่ IP จำนวนเท่าใดในช่วงที่กำหนด เขียนโปรแกรมหรือฟังก์ชั่นที่รับสองสายเป็นอินพุตแต่ละอันเป็นที่อยู่ IPv4 ที่แสดงในรูปแบบเครื่องหมายจุดมาตรฐานและส่งออกหรือส่งคืนจำนวนที่อยู่ IP ที่ครอบคลุมโดยช่วงนี้รวมถึงอินพุต IP สองที่อยู่ คุณต้องไม่ใช้รหัสภายนอกไลบรารีหรือบริการที่ออกแบบมาเพื่อแยกที่อยู่ IP (ยอมรับฟังก์ชั่นไลบรารีมาตรฐานการประมวลผลสตริงอื่น ๆ ) ที่อยู่ IP 2 ^ 32 ทั้งหมดเท่ากัน ไม่มีความแตกต่างในการออกอากาศคลาส E ฯลฯ มีการใช้กฎของสนามกอล์ฟรหัสปกติ ตัวอย่างเช่น: "0.0.0.0","255.255.255.255" returns 4294967296. "255.255.255.255","0.0.0.0" also returns 4294967296. "1.2.3.4","1.2.3.4" returns 1. "56.57.58.59","60.61.62.63" returns 67372037. "1","2" is invalid input. Your code may do …

18
ตัวย่อแบบเรียกซ้ำ
วัตถุประสงค์ จากวิกิพีเดีย : ตัวย่อแบบเรียกซ้ำเป็นตัวย่อที่อ้างถึงตัวเองในการแสดงออกซึ่งมันยืน เป้าหมายของคุณคือการตรวจสอบว่าสตริงเป็นตัวย่อซ้ำหรือไม่ คำย่อเป็นคำแรก คำไม่ได้ตรงตามตัวพิมพ์ใหญ่ - เล็กคั่นด้วยช่องว่างเดียว สตริงที่ระบุไม่มีเครื่องหมายวรรคตอนและเครื่องหมายอัญประกาศ เฉพาะอักษรตัวแรกของแต่ละคำเท่านั้นที่สามารถเป็นส่วนหนึ่งของตัวย่อ นอกจากนี้คุณยังจะต้องให้คำฟังก์ชั่น เพื่อความเรียบง่ายทุกคำถือได้ว่าเป็นคำฟังก์ชั่น ตัวอย่าง f("RPM Package Manager") => { true, [] } f("Wine is not an emulator") => { true, ["an"] } f("GNU is not Unix") => { true, ["is"] } f("Golf is not an acronym") => { false } …
31 code-golf 

22
การเล่นกอล์ฟ ASCII-art
ลองเล่นกอล์ฟชิ้นส่วนศิลปะ ASCII ซึ่งเป็นตัวแทนของนักกอล์ฟ: '\ . |> 18 >> \. ' | O >> 'o | \. | / \ | / /. ' | JGS ^^^^^^^ `^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ที่มา: JGS - http://www.retrojunkie.com/asciiart/sports/golf.htm กฎ: ไม่อนุญาตให้ป้อนข้อมูล ไม่อนุญาตให้ใช้ทรัพยากรภายนอก ผลลัพธ์จะต้องตรงกับข้อความนี้แสดงในแบบอักษร monospace (คอนโซล OS, คอนโซล JS, แท็ก HTML <pre>, ... ) รวมถึงตัวแบ่งบรรทัดด้านหน้าและด้านหลัง อนุญาตให้ใช้เครื่องหมายคำพูดล้อมรอบหรืออัญประกาศคู่ได้ (คอนโซล JS …

30
ตัวละครข้าม
ฉันคาดหวังว่าจะโพสต์สิ่งที่ซับซ้อนกว่าเดิมเป็นปริศนาตัวแรกใน PCG แต่โดยเฉพาะคำถามการบ้านใน Stack Overflow เป็นแรงบันดาลใจให้ฉันโพสต์สิ่งนี้ พวกเขาต้องการ: พิมพ์รูปแบบต่อไปนี้สำหรับคำที่ระบุที่มีจำนวนตัวอักษรแปลก P M R A O R G O R R A P M C ++ ขอให้สังเกตว่าตัวอักษรเป็นอัศวินที่เคลื่อนไหวในรูปแบบที่คุณต้องการพิมพ์ ดังนั้นคอลัมน์อื่น ๆ จะว่างเปล่า - (ขอบคุณxnor ที่ชี้เรื่องนี้ออกมา) กฎระเบียบ ห้ามใช้ C ++ เพราะฉันอาจเชื่อมโยงคำถามนี้ที่นั่น คุณอาจใช้stdoutหรือวิธีการใด ๆ ในการส่งออกสตริง (เช่นalert()ใน JavaScript) เช่นเคยรหัสสั้นที่สุดชนะ

8
รหัส - กอล์ฟ: Count Islands
การประกวดอย่างง่ายซึ่งได้รับแรงบันดาลใจจากคำถาม stackoverflow นี้ : คุณจะได้รับภาพพื้นผิวที่ถ่ายโดยดาวเทียมภาพเป็นบิตแมปที่น้ำถูกทำเครื่องหมายด้วย ' .' และที่ดินถูกทำเครื่องหมายด้วย ' *' กลุ่มที่อยู่ติดกัน*เป็นเกาะ (สอง ' *' อยู่ติดกันหากพวกเขาเป็นเพื่อนบ้านแนวนอนแนวตั้งหรือแนวทแยง) งานของคุณคือการพิมพ์จำนวนเกาะในบิตแมป หนึ่ง*ยังนับเป็นเกาะ ตัวอย่างอินพุต: .........** **......*** ........... ...*....... *........*. *.........* ตัวอย่างผลลัพธ์: 5 ผู้ชนะคือรายการที่มีจำนวนไบต์น้อยที่สุดในรหัส
31 code-golf 

17
การสร้างล่าม HQ9 +
เป้าหมายของรหัสกอล์ฟนี้คือการสร้างล่ามสำหรับภาษาการเขียนโปรแกรมHQ9 + มี 4 คำสั่งในภาษาการเขียนโปรแกรมนี้: H - พิมพ์ "Hello, world!" Q - พิมพ์ซอร์สโค้ดของโปรแกรม 9 - พิมพ์เนื้อเพลงของเพลง"99 ขวดเบียร์" + - เพิ่มตัวสะสม กฎระเบียบ: เนื่องจากไม่ได้กำหนดตัวสะสมคุณสามารถละเว้นคำสั่ง+ โปรแกรมของคุณควรถามให้ใส่ (อินพุตนี้จะเป็นซอร์สโค้ด) หรือซอร์สโค้ดถูกอ่านจากไฟล์ คุณไม่ได้รับอนุญาตให้ใส่เนื้อเพลง "99 ขวดเบียร์" ลงในไฟล์และอ่านข้อความจากไฟล์ คุณไม่ได้รับอนุญาตให้ใช้อัลกอริทึมการบีบอัดเช่น GZip หรือ BZip เพื่อบีบอัดข้อความเพลง: คุณต้องสร้างอัลกอริทึมการบีบอัดของคุณเอง สิ่งนี้ไม่จำเป็นต้องเป็นอัลกอริทึมที่ซับซ้อน แต่พยายามบีบอัดข้อความให้มากที่สุดเท่าที่จะเป็นไปได้ (โปรดจำไว้ว่านี่คือรหัสกอล์ฟซึ่งเป็นรหัสที่มีจำนวนไบต์น้อยที่สุดที่ชนะ) หากซอร์สโค้ดมีอักขระที่ไม่ใช่H , Q , 9หรือ+ให้เอาท์พุท "ซอร์สโค้ดมีอักขระที่ไม่ถูกต้อง" ก่อนที่จะรันคำสั่งใด ๆ ! ซึ่งหมายความว่าถ้ารหัสที่มาเป็นH1เช่นนั้นไม่ได้มีการส่งออกก่อนที่จะส่งออกHello, world! Source …

30
ตู้เก็บของกับแครกเกอร์: ลำดับที่ห้าองค์ประกอบ
ความท้าทาย ความท้าทาย "สายลับกับสายลับ" ที่เรียบง่าย เขียนโปรแกรมด้วยข้อกำหนดต่อไปนี้: โปรแกรมอาจเขียนเป็นภาษาใดก็ได้ แต่ต้องไม่เกิน 512 ตัวอักษร (ตามที่แสดงในบล็อกรหัสบนเว็บไซต์นี้) โปรแกรมต้องยอมรับจำนวนเต็ม 32- บิตที่ได้รับการรับรอง 5 รายการเป็นอินพุต มันสามารถใช้รูปแบบของฟังก์ชั่นที่ยอมรับข้อโต้แย้ง 5 ฟังก์ชั่นที่ยอมรับอาร์เรย์ 5 องค์ประกอบเดียวหรือโปรแกรมสมบูรณ์ที่อ่านจำนวนเต็ม 5 ตัวจากอินพุตมาตรฐานใด ๆ โปรแกรมจะต้องส่งออกจำนวนเต็ม 32 บิตแบบมีลายเซ็นหนึ่งรายการ โปรแกรมจะต้องส่งคืน 1 ถ้าหากทั้งห้าอินพุตตีความเป็นลำดับตรงกับลำดับเลขคณิตเฉพาะของการเลือกโปรแกรมเมอร์เรียกว่า "กุญแจ" ฟังก์ชันต้องส่งคืน 0 สำหรับอินพุตอื่นทั้งหมด ลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบที่ต่อเนื่องของลำดับนั้นเท่ากับบรรพบุรุษของมันบวกค่าคงที่คงที่ aลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบต่อเนื่องของลำดับเท่ากับบรรพบุรุษของมันบวกบางคงที่คงที่ ตัวอย่างเช่น25 30 35 40 45เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบของลำดับนั้นเท่ากับบรรพบุรุษของมันบวก 5 เช่นเดียวกัน17 10 3 -4 -11เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบมีค่าเท่ากับ precessor บวก -7 ลำดับ1 …

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