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

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

30
ค้นหาศูนย์
กำหนดสตริงของอักขระ ASCII ส่งออกอักขระที่อยู่ตรงกลาง หากไม่มีอักขระกลาง (เมื่อสตริงมีความยาวเท่ากัน) เอาท์พุทอักขระ ASCII ที่มีลำดับเป็นค่าเฉลี่ยที่ปูพื้นของอักขระกลางสองตัว หากสตริงว่างเปล่าสตริงว่างควรเป็นเอาต์พุต กรณีทดสอบ: 12345 => 3 Hello => l Hiya => q (empty input) => (empty output) โปรแกรมที่สั้นที่สุดในตัวละครชนะ (ไม่ใช่ไบต์) ลีดเดอร์บอร์ด สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างกระดานแต้มนำจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นกระดานแต้มนำโดยรวม เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: ## Language Name, N characters ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น ## Ruby, <s>104</s> <s>101</s> 96 characters หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ …
24 code-golf  string 

2
เลเซอร์ของSchrödinger
เบื่อหน่ายกับการทดลองกับสัตว์เลี้ยงตัวเล็ก ๆ Erwin Schrödingerที่ได้รับรางวัลโนเบลได้ตัดสินใจที่จะหาเลเซอร์ที่ใกล้ที่สุดแล้วยิงมันที่สิ่งของแทน เพราะ ... วิทยาศาสตร์! ลักษณะ คุณจะได้รับสองจุดที่เลเซอร์ผ่านและขนาดของลำแสงเลเซอร์และคุณจะต้องตรวจสอบที่ลำแสงเลเซอร์จะต้องได้ไปจะได้หายไปและไม่สามารถมีหายไป ลำแสงเลเซอร์สามารถเป็นแนวนอนแนวตั้งหรือแนวทแยง สำหรับลำแสงเลเซอร์ขนาด 1 พวกมันมีลักษณะดังนี้: # # # # ##### # # # # # # ลำแสงเลเซอร์ทแยงมุมสามารถพลิกได้ ลำแสงเลเซอร์ขนาด 2 มีลักษณะดังนี้: ### ## ##### ### ### ##### ### ### ##### ### ### ### ## โดยทั่วไปเพื่อให้ได้ลำแสงเลเซอร์ขนาด (n) เพียงนำลำแสงเลเซอร์ขนาด (n-1) และเพิ่มลำแสงเลเซอร์ขนาด (1) ทั้งสองด้าน เป็นตัวอย่างขั้นสุดท้ายต่อไปนี้เป็นลำแสงเลเซอร์ที่เป็นไปได้ขนาด 3 …
24 code-golf 

30
ลบการเกิดขึ้นทั้งหมดของตัวอักษรตัวแรกของสตริงจากสตริงทั้งหมด
รับสายเข้าเฉพาะที่มีตัวละครA-Z, a-zและช่องว่างเอาเหตุการณ์ที่เกิดขึ้นทั้งหมดของตัวพิมพ์ใหญ่และพิมพ์เล็กรุ่นของตัวอักษรตัวแรกของสตริง (ถ้าตัวอักษรตัวแรกเป็นAลบทั้งหมดAและas ถ้าตัวอักษรตัวแรกคือ(เว้นวรรค) ลบ ช่องว่างทั้งหมด) และพิมพ์ผลลัพธ์ ตัวอย่างกรณี: Testing Testing One Two Three -> esing esing One wo hree Programming Puzzles and Code Golf -> rogramming uzzles and Code Golf How much wood would a woodchuck chuck if a woodchuck could chuck wood -> ow muc wood would a woodcuck …

12
ไซน์แห่งความยิ่งใหญ่
บทนำ ทุกคนได้ยินไซน์ (บาป) , โคไซน์ (cos) , สัมผัส (สีน้ำตาล) , โคแทนเจนต์ (เปล) , ซีแคนต์ ( ก.ล.ต. )และโคเซแคนต์ (CSC) เกือบทุกมุมมีพวกมัน ห่างไกลไม่รู้จักหรือจำได้ว่าเป็นexsecant (exsec) , excosecant (excsc) , versine (versin)และcoversine (CVS) เกือบทุกมุมมีสิ่งเหล่านั้นเช่นกัน มีบางอย่างที่เป็นที่รู้จักน้อยกว่าแต่เราจะทำตามสิ่งเหล่านี้ ฉันสร้างภาพเหล่านี้สำหรับมุมθซึ่งก็คือ 45 ° ความท้าทาย สร้างโปรแกรมที่รับอินพุตเป็นมุมเป็นnองศาและจะแสดงผล: ไซน์ของมุม n โคไซน์ของมุม n แทนเจนต์ของมุม n ซีแคนต์ของมุม n อย่างน้อยหนึ่งอย่างต่อไปนี้ ทุกรายการเพิ่มเติมจากรายการนี้จะได้รับโบนัส -5% สูงสุด -25% exsecant ของมุม …

8
ASCII Borromean Rings
ห่วงบอร์เป็นชุดอยากรู้อยากเห็นของสามวงกลมเชื่อมโยงดังกล่าวว่าการกำจัดของหนึ่งของพวกเขาใด ๆ ที่จะยกเลิกการเชื่อมโยงอื่น ๆ ที่สอง: คุณสามารถทำให้ชุดสำหรับตัวคุณเองด้วยแถบยางคู่และแหวน ด้วยแถบยางมากขึ้นมันเป็นเรื่องง่ายที่จะทำให้การใด ๆ ที่เชื่อมโยง Brunnian เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออก (พิมพ์หรือส่งคืน) การเป็นตัวแทน ASCII-art ของวงแหวน Borromean นี้: +-----+ | | +-----+ | | | | | | +-|---+ | | | | | | | | | +-|---+ | | | | +-|---+ | | | +-----+ บรรทัดอาจมีช่องว่างต่อท้ายและอาจมีการขึ้นบรรทัดใหม่ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

16
แสดงอายุแหวนของต้นไม้
บทนำ เมื่อวานนี้ผมเห็นปริศนาวันเกิด ยินดีด้วย!! นอกจากนี้ในสัปดาห์นี้ฉันได้ดูตอนหนึ่งของรายการทีวีกระดูกที่ศพถูกฝังอยู่ใต้ต้นไม้ ในการคำนวณเวลาแห่งความตายพวกเขานับจำนวนต้นไม้ ต้นไม้ดังขึ้นเพราะต้นไม้เติบโตช้าในช่วงฤดูหนาวและเร็วกว่าในช่วงฤดูร้อน ดังนั้นคุณสามารถคำนวณอายุของต้นไม้โดยการนับวง นอกจากนี้คุณสามารถดูเหตุการณ์ธรรมชาติเช่นฤดูฝนหรือฤดูแล้ง ท้าทาย กำหนดจำนวนเต็มn >= 1เป็นอินพุตให้เขียนโปรแกรมเต็มรูปแบบเพื่อเอาท์พุทริงอายุของต้นไม้ เนื่องจากวงแหวนสามารถเปลี่ยนรูปร่างใช้อักขระสามตัวที่แตกต่างกัน ('0', '*', '+') เพื่อแสดงวัฏจักรของสภาพภูมิอากาศ อายุ 1 0 อายุ 2 *** *0* *** อายุ 3 +++++ +***+ +*0*+ +***+ +++++ อายุ 4 0000000 0+++++0 0+***+0 0+*0*+0 0+***+0 0+++++0 0000000 ขนาดของต้นไม้เป็นรูปสี่เหลี่ยมจัตุรัส 2*n - 1 การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

30
องค์ประกอบที่ไม่ซ้ำ
เขียนโปรแกรมที่ค้นหาองค์ประกอบที่ไม่ซ้ำกันของอาร์เรย์ของจำนวนเต็มที่ลงนามแล้ว อาร์เรย์ที่เป็นผลลัพธ์สามารถอยู่ในลำดับใดก็ได้ คำตอบของคุณอาจเป็นข้อมูลโค้ดที่สมมติว่าอินพุตถูกเก็บไว้ในตัวแปร ( d, พูด) และประเมินผลลัพธ์ที่ถูกต้อง กรณีทดสอบ input => outputกรณีทดสอบแต่ละคนเป็นบรรทัดเดียวในรูปแบบ โปรดสังเกตว่าการเรียงสับเปลี่ยนอื่นของเอาต์พุตนั้นใช้ได้เช่นกัน [] => [] [-1, 0, 1] => [] [1, 1] => [1] [3, 0, 0, 1, 1, 0, 5, 3] => [3, 0, 1] [-34, 0, 1, -34, 4, 8, 4] => [-34, 4] ลำดับขององค์ประกอบไม่สำคัญ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ

16
Monday Mini-Golf # 3: ระยะทางแอนนาแกรม
Monday Mini-Golf:ชุดของความท้าทายรหัสสั้น ๆกอล์ฟโพสต์ (หวังว่า!) ทุกวันจันทร์ (ขอโทษทีช้าไปหน่อย) ฉันแน่ใจว่าคนส่วนใหญ่ของคุณเคยได้ยินระยะทางของLevenshteinซึ่งเป็นอัลกอริทึมสำหรับการคำนวณระยะห่างระหว่างสองสาย ดีความท้าทายนี้เป็นเรื่องเกี่ยวกับการใช้อัลกอริทึมของการประดิษฐ์ * ของตัวเองที่คล้ายกันเรียกว่าระยะทางแอนนาแกรม ความแตกต่างที่สำคัญคือลำดับของตัวละครนั้นไม่สำคัญ จะวัดเฉพาะอักขระที่ไม่ซ้ำกับสตริงหนึ่งหรืออักขระอื่นเท่านั้น ท้าทาย เป้าหมายของการท้าทายคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้สองสายและส่งคืนระยะห่างระหว่างแอนนาแกรม วิธีหลักในการทำเช่นนี้คือการใช้ตรรกะต่อไปนี้: แปลงทั้งสองสตริงเป็นตัวพิมพ์เล็กและ (เป็นทางเลือก) จัดเรียงอักขระตามลำดับตัวอักษร ในขณะที่สตริงมีอักขระที่เท่าเทียมกันอย่างน้อยหนึ่งตัวให้ลบอินสแตนซ์แรกของอักขระนี้ออกจากแต่ละสตริง เพิ่มความยาวของสตริงที่เหลือและส่งคืน / ผลลัพธ์ ตัวอย่าง หากอินพุตเป็น: Hello, world! Code golf! จากนั้นลดขนาดและเรียงลำดับสิ่งเหล่านี้จะกลายเป็น: (ตามการเรียงลำดับเริ่มต้นของ JS ให้สังเกตช่องว่างนำหน้า) !,dehllloorw !cdefgloo การลบตัวละครทั้งหมดที่อยู่ในสตริงทั้งสองนั้นเราก็จบลงด้วย: ,hllrw cfg ดังนั้นระยะห่างระหว่างแอนนาแกรมระหว่างสองสายดั้งเดิม = 6 + 3 = 9 รายละเอียด สตริงอาจถูกนำมาใช้ในรูปแบบที่เหมาะสม สตริงจะประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น สตริงเองจะไม่มีช่องว่างใด …
24 code-golf  string 

18
ทำล่าม 3var!
3varเป็นตัวแปรของเดดฟิชซึ่งใช้สามตัวแปรที่เรียกว่า A, B และ R A และ B คือแอคคูมูเลเตอร์ในขณะที่ R ใช้เป็นตัวแปรผลลัพธ์ ในรหัสนี้กอล์ฟท้าทายนี้คุณต้องสร้างล่ามให้กับภาษานี้ คำสั่งที่จำเป็น: i Increments A d Decrements A s Squares A p Prints A P Prints the ASCII character of A > Sets A to R a Increments B k Decrements B m Squares B o Prints B O …

7
แฮคเกอร์เข้ารหัสโปรแกรมของคุณด้วยแหล่งที่มาของโปรแกรมอื่น ๆ
เขียนสองโปรแกรมเช่นเมื่อไบต์ของซอร์สโค้ดของพวกเขาคือ XOR-d ร่วมกันมันจะสร้างโปรแกรมที่สามที่ถูกต้องทั้งหมดในภาษาเดียวกัน ความยาวของแต่ละโปรแกรมในสามไบต์ต้องเหมือนกัน Aโปรแกรมแรกควรเอาท์พุท Bโปรแกรมที่สองควรเอาท์พุท Cโปรแกรมที่สามควรเอาท์พุท การขึ้นบรรทัดใหม่เป็นทางเลือก แต่ถ้ามีการสร้างการขึ้นบรรทัดใหม่ทั้งคู่จะต้องทำเช่นกัน หากคุณใช้การตั้งค่าสถานะบรรทัดคำสั่งใด ๆ คุณต้องเหมือนกันสำหรับแต่ละโปรแกรมนั่นคือทั้งสามโปรแกรมจะต้องดำเนินการในลักษณะเดียวกัน หากคุณใช้ภาษาเช่น PHP ที่เริ่มต้นด้วยการรวมกันของตัวอักษรเช่นเดิม<?แต่มีตัวเลือกบรรทัดคำสั่งที่ลดตัวอักษรเหล่านั้นที่คุณอาจใช้แทนเช่น PHP จะต้องเรียกใช้จากบรรทัดคำสั่งเท่านั้น ไม่อนุญาตให้ป้อนข้อมูล แต่ละโปรแกรมต้องอยู่ในตัวเอง หากโปรแกรมของคุณเขียนขึ้นใน ASCII ตารางต่อไปนี้อาจช่วยได้: Codes 0x20 - 0x3F !"#$%&'()*+,-./ 0123456789:;<=>? Codes 0x40 - 0x5F @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ Codes 0x60 - 0x7E `abcdefghijklmno pqrstuvwxyz{|}~ แก้ไข อนุญาตให้ใช้ตัวอักษรที่ไม่ใช่การพิมพ์เนื่องจากฉันไม่ได้ห้ามอย่างชัดแจ้งในตอนแรก อย่างไรก็ตามหากคุณต้องการโพสต์เวอร์ชั่นที่ใช้ตัวอักษรที่พิมพ์ได้และจะดีมาก! (คะแนนใดก็ตามที่สั้นที่สุด) "ปัจจัยที่ชาญฉลาด" ของการใช้รหัสควบคุมได้หมดลงไปแล้ว ... สิ้นสุดการแก้ไข XOR-ing สองรหัสจากบล็อกเดียวกันจะสร้างรหัสน้อยกว่า …

3
คุณสามารถพับ hexomino ให้เป็นลูกบาศก์ได้หรือไม่?
หนึ่งในของเล่นที่ชื่นชอบของเด็กของฉันเป็นชุดเช่นนี้ จริงๆแล้วมันเป็นของเล่นโปรดของฉัน - ฉันเล่นกับมันมาแล้ว นี่คือหนึ่ง: เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้การวาดเส้น ASCII เป็นอินพุตและตัดสินใจว่าจะพับลงในคิวบ์หรือไม่ อินพุต ข้อมูลจะประกอบด้วย hexomino หนึ่งตัวที่สร้างขึ้นจากสี่เหลี่ยมแบบนี้: +-+ | | +-+ ตัวอย่างเช่น heximino อินพุตที่ถูกต้องคือ: +-+ | | +-+-+-+-+ | | | | | +-+-+-+-+ | | +-+ เอาท์พุต ค่าความจริงหาก hexomino สามารถพับลงในคิวบ์หรือ ค่าความผิดพลาดเป็นอย่างอื่น เพื่อช่วยเราทำงานนิดหน่อยวิกิพีเดียมีกราฟิกที่ดีของ: 35 hexominoes ทั้งหมด: Hexominoes ทั้ง 11 ตัวที่พับเป็นลูกบาศก์: หมายเหตุ อินพุต hexominoes อาจมีการหมุนหรือการสะท้อนใด ๆ …

16
มาดูการกระทำกัน!
ใครไม่รักภาพยนตร์แอ็คชั่นที่มีรถยนต์ที่มีเสียงดังโดยเฉพาะอย่างยิ่งภาพยนตร์ที่มีปัญหามากมาย ใครไม่ชอบช็อตแอ็คชั่นในศิลปะ ASCII? ฉากคือ: รถสองคันเริ่มที่ด้านตรงข้ามของถนนตรง (โดยมีช่องว่างระหว่าง 60) พวกเขาเริ่มขับต่อกันด้วยความเร็วคงที่ รถไปทางซ้ายไดรฟ์ที่ 1 ช่องว่างต่อวินาทีและหนึ่งไปทางขวาไดรฟ์ 2 ช่องว่างต่อวินาที เห็นได้ชัดว่ารถยนต์ไม่สามารถผ่านกันและกันดังนั้นสำหรับn ≥ 20ฉากจะมีรถสองคันชนกับหมวกขึ้นในตำแหน่งที่เกิดความผิดพลาด ในฐานะที่เป็นคนรักภาพยนตร์ฉันต้องการหยุดฉากชั่วคราวเพื่อเพลิดเพลินกับความงามของมัน ได้รับจำนวนเต็มn(อาร์กิวเมนต์ของฟังก์ชันหรือ STDIN) ซึ่งแทนจำนวนวินาทีจากจุดเริ่มต้นของฉากแสดงฉากในขณะนั้น นี่คือฉากเริ่มต้นโดยมี 60 ช่องว่างระหว่างล้อหน้า: __ __ _/ \_ _/ \_ o o o o นี่คือฉากหลังจาก 11 วินาที: __ __ _/ \_ _/ \_ o o o o และนี่คือสิ่งที่ดูเหมือนว่าหลังจากการแข่งขัน (โปรดทราบว่า bonnets ขึ้นหลังจากความผิดพลาด): …

26
ล้อมรอบสตริงด้วยแฮช
ฉันได้ทำสิ่งนี้ใน Python แล้ว แต่ดูเหมือนว่ามันจะสั้นลงมาก: txt = input("Type something.. ") c = "#" b = " " print(c * (len(txt) + 4)) print(c, b * len(txt), c) print(c, txt, c) print(c, b * len(txt), c) print(c * (len(txt) + 4)) ดังนั้นหากผู้ใช้พิมพ์: Hello World โปรแกรมจะพิมพ์: ############### # # # Hello World # …
24 code-golf  string 

10
เครื่องกำเนิดปิด Palindromic แบบสองทาง
บทนำ การปิด palindromic ของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่สามารถสร้างขึ้นจากสตริงอินพุตที่ palindrome สุดท้ายเริ่มต้นด้วยสตริงอินพุต สำหรับความท้าทายนี้เราจะพิจารณาการปิด palindromic แบบสองทางเช่นนั้น การปิด Palindromic ด้านซ้ายของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่เป็นไปได้ที่เริ่มต้นด้วยสตริงอินพุต การปิด Palindromic ที่ถูกต้องของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่เป็นไปได้ซึ่งลงท้ายด้วยสตริงอินพุต การปิด Palindromic แบบสองทางของสตริงอินพุตนั้นสั้นกว่าของการปิด Palindromic ซ้ายหรือขวาของสตริงอินพุต งาน งานของคุณง่าย รับสตริง (ประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น, บรรทัดใหม่และช่องว่างสีขาว), ส่งออกการปิด palindromic แบบสองทางของสตริงนั้น ในกรณีที่มีการเสมอกันการปิด Palindromic ด้านซ้ายหรือขวานั้นเป็นผลลัพธ์ที่ถูกต้อง คุณสามารถเขียนโปรแกรมหรือฟังก์ชันรับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันและพิมพ์ผลลัพธ์ไปที่ STDOUT (หรือทางเลือกใกล้เคียงที่สุด) หรือส่งคืนเป็นสตริง คุณสามารถสันนิษฐานได้ว่าอินพุตจะไม่เป็นสตริงว่าง ตัวอย่างไม่กี่: <Input> -> …

30
คำนวณอักขระเฉลี่ยของสตริง
งาน งานของคุณคือการผลิตสตริงที่มีอักขระเฉลี่ยของสตริง อักขระตัวแรกของผลลัพธ์จะเป็นอักขระเฉลี่ยของอักขระตัวแรก (ซึ่งเป็นอักขระตัวแรก) และอักขระตัวที่สองเฉลี่ยของอักขระสองตัวแรกเป็นต้น อักขระเฉลี่ยคืออะไร สตริงเป็นอาร์เรย์ของไบต์ สามารถหาอักขระเฉลี่ยของสตริงได้โดยการคำนวณค่าเฉลี่ยของค่า ASCII ของอักขระในสตริงและใช้อักขระ ASCII ที่สอดคล้องกัน ยกตัวอย่างเช่นสตริงสามารถเขียนเป็นลำดับไบต์"Hello!" 72 101 108 108 111 33ค่าเฉลี่ยของค่า ASCII คือ 533/6 = 88.833 ... และเมื่อมันถูกปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุดเราจะได้ 89 ซึ่งเป็นรหัส ASCII สำหรับตัวอักษรตัวYใหญ่ กฎระเบียบ คุณสามารถสมมติว่าอินพุตมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น อินพุตสามารถอ่านได้จาก stdin หรือเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือเป็นอาร์กิวเมนต์ของฟังก์ชัน เอาต์พุตต้องเป็น stdout หากโปรแกรมของคุณใช้งานได้คุณสามารถคืนค่าสตริงที่คุณต้องการพิมพ์ได้ ต้องเป็นทั้งโปรแกรมหรือฟังก์ชั่นไม่ใช่ตัวอย่าง ช่องโหว่มาตรฐานใช้ จำนวนเต็มถูกปัดเศษตามฟังก์ชันfloor(x+0.5)หรือฟังก์ชันที่คล้ายกัน ฉันจะชนะได้อย่างไร นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) เป็นผู้ชนะ ตัวอย่าง Hello! → …
24 code-golf  string 

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