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

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

28
สุ่มเลือกหนึ่งหมายเลขที่แตกต่างจากหมายเลขสุ่มอื่น ๆ สองหมายเลข
มีการสร้างตัวเลขสุ่ม A และ B สองค่าเป็น 1, 2 หรือ 3 งานของคุณคือการสุ่มเลือกหมายเลขสาม C ซึ่งอาจเป็น 1,2 หรือ 3 แต่ C ไม่สามารถเท่ากับ A หรือ B และใช่ A สามารถเท่ากับ B ถ้า A = B ดังนั้น C จะเหลือเพียงสองตัวเลขเท่านั้น ถ้า A ไม่เท่ากับ B, C มีเพียงหนึ่งหมายเลขเท่านั้นที่สามารถเป็นได้ สมมติว่า A และ B ได้ถูกเลือกสำหรับคุณแล้ว นี่คือวิธีที่จะสร้าง A และ B ใน Python A …
14 code-golf  random 

15
แสดงเฟรมจากไฟล์. txt
งาน: ให้.txtไฟล์ที่มีเฟรมของ ASCII art แต่ละอันคั่นด้วย a \n(ดูตัวอย่างนี้ถ้าคุณไม่ชัดเจน) เอาท์พุทภาพเคลื่อนไหวที่มีเฟรมที่มี 1 เฟรมต่อวินาที โปรดทราบว่ามีการต่อท้าย\nเฟรมสุดท้าย แต่ละขนาดเฟรมจะเป็น: X <80 Y <20 กฎระเบียบ ต้องลบเฟรมก่อนหน้าก่อนหน้าเฟรมถัดไปดังนั้นเพียงพิมพ์แต่ละเฟรมลงบนเทอร์มินัลไม่ใช่คำตอบที่ถูกต้อง ใหม่คุณสามารถคว้าชื่อไฟล์ได้ตามที่คุณต้องการไม่ว่าจะเป็นการเก็บไว้ในตัวแปรหรือจาก sys args ใหม่รูปภาพจะต้องวนซ้ำอย่างไม่มีกำหนด นี่คือรหัสกอล์ฟ: โปรแกรมที่เล็กที่สุดชนะ ตัวอย่าง อินพุต 0 0 0 0 00000 0 0 0 0 00000 0 00000 0 00000 0 0 0 0 0 0 0 เอาท์พุต ยกเลิกแข็งแรงเล่นกอล์ฟ import …
14 code-golf 

5
แก้ปริศนาการหมุน
ในโทรศัพท์ Nokia รุ่นเก่าบางรุ่นมีการเปลี่ยนแปลงของปริศนาสิบห้าชุดเรียกว่าการหมุน ในรูปแบบนี้แทนที่จะเลื่อนหนึ่งไทล์ทีละครั้งคุณจะหมุนสี่ไทม์สในแต่ละทิศทางในทิศทางเดียว ในเกมนี้คุณจะเริ่มด้วยบอร์ดเช่นนี้: 4 9 2 3 5 7 8 1 6 และโดยการหมุนบล็อกซ้ายล่างสองครั้งตามเข็มนาฬิกาและบล็อกบนซ้ายตามเข็มนาฬิกาคุณจะได้: 4 9 2 8 3 7 1 5 6 4 9 2 1 8 7 3 5 6 1 4 2 8 9 7 3 5 6 และ1กระเบื้องจะอยู่ที่มุมซ้ายบนซึ่งควรจะเป็น ในที่สุดหลังจากการเคลื่อนไหวอีกสองสามครั้งคุณจะพบกับ: 1 2 3 4 5 6 …

8
รูปสามเหลี่ยม Heronian เกือบเท่ากัน
เกือบด้านเท่ากันหมด Heronian สามเหลี่ยมเป็นรูปสามเหลี่ยมที่มีความยาวจำนวนเต็มของรูปแบบn-1, nและn+1และยังมีพื้นที่จำนวนเต็ม สองสามคนแรกคือ: 3, 4, 5 -> 6 13, 14, 15 -> 84 51, 52, 53 -> 1170 Quest : สร้างโปรแกรมที่สั้นที่สุดที่ให้ผลลัพธ์เป็นnสามเท่า (คำแนะนำ: นี่เป็นลำดับที่รู้จัก) ผู้ชนะจะถูกเลือกในวันที่ 2 พฤษภาคม 2014

15
เวลาสปิโรกราฟ!
สปิโรกราฟราเป็นของเล่นที่วาดไฮโปคลอรอยด์และเอพิโตรรอยด์ สำหรับความท้าทายนี้เราจะเน้นที่ไฮโปคลอรอยด์ จากวิกิพีเดีย : ไฮเปอร์โบรอยด์คือรูเล็ตที่ติดตามโดยจุดที่ติดอยู่กับวงกลมรัศมีr ที่หมุนไปรอบ ๆ ด้านในของรัศมีคงที่Rซึ่งจุดคือระยะทางdจากจุดศูนย์กลางของวงกลมภายใน สมการพารามิเตอร์สำหรับพวกเขาสามารถกำหนดเป็น: โดยที่θคือมุมที่เกิดขึ้นจากแนวนอนและศูนย์กลางของวงกลมกลิ้ง งานของคุณคือการเขียนโปรแกรมที่จะวาดเส้นทางที่ติดตามโดยจุดที่กำหนดไว้ด้านบน ในฐานะที่เป็นอินพุทคุณจะได้รับR , rและdจำนวนเต็มทั้งหมดตั้งแต่ 1 ถึง 200 คุณสามารถรับอินพุตนี้จาก stdin, อาร์กิวเมนต์หรืออินพุตของผู้ใช้ แต่ไม่สามารถ hardcoded ลงในโปรแกรม คุณสามารถยอมรับได้ในรูปแบบใดก็ตามที่สะดวกที่สุดสำหรับคุณ เป็นสตริงจำนวนเต็ม ฯลฯ สมมติ: หน่วยอินพุตมีหน่วยเป็นพิกเซล R > = r เอาท์พุทควรเป็นตัวแทนกราฟิกของ hypotrochoid ที่กำหนดโดยอินพุต ไม่อนุญาตให้ใช้ ASCII หรือเอาต์พุตแบบข้อความอื่น ๆ ภาพนี้สามารถบันทึกเป็นไฟล์หรือแสดงบนหน้าจอ รวมภาพหน้าจอหรือภาพของเอาท์พุทสำหรับอินพุตที่คุณเลือก คุณสามารถเลือกสีใดก็ได้ที่คุณต้องการสำหรับเส้นทาง / พื้นหลังโดยมีข้อ จำกัด เรื่องความคมชัด สองสีต้องมีองค์ประกอบ 'ค่า' HSV อย่างน้อยครึ่งหนึ่งของขนาดแยกจากกัน …

4
เปรียบเทียบสองมือโป๊กเกอร์
ท้าทาย: เมื่อได้ไพ่ห้าใบในมือสองใบให้ตัดสินว่าฝ่ายใดจะชนะโดยการจัดอันดับไพ่ในมือแบบมาตรฐาน การป้อนข้อมูล: ไพ่สิบใบคั่นด้วยช่องว่างจาก stdin หรืออาร์กิวเมนต์บรรทัดคำสั่งแล้วแต่ว่าคุณต้องการอะไร ไพ่ห้าใบแรกเป็นไพ่ของผู้เล่น 1 ในขณะที่ไพ่ห้าใบสุดท้ายเป็นไพ่ในมือของผู้เล่น 2 บัตรแต่ละใบจะเป็นสตริงตัวอักษรสองตัวของแบบฟอร์ม RS โดยที่ R คืออันดับและ S เป็นชุด อันดับอยู่ในช่วง 2-9, T สำหรับสิบและ J, Q, K และ A สำหรับ Jack, Queen, King และ Ace ตามลำดับ ชุดคือ H, D, C, S สำหรับหัวใจ, เพชร, คลับ, และโพดำตามลำดับ คุณต้องส่งออกจำนวนผู้เล่นที่ชนะ: '1' หรือ '2' ตัวอย่างของการ์ด: AS - the …
14 code-golf  game 

4
พาสุนัขไปเดินเล่น
สุนัขของฉันเห่าใส่ฉัน แต่ฉันขี้เกียจเกินไปที่จะพาเขาไปเดินเล่น ฉันมีความคิด! ฉันจะให้คนที่ Code Golf ทำเพื่อฉัน! ความท้าทายของคุณคือการจำลองการเดินสุนัข นี่คือกฎสำหรับการเดินสุนัข: มนุษย์ ( H) จะเริ่มต้น0,0บนระนาบพิกัด (คาร์ทีเซียน) และจะสุ่มหนึ่งช่องว่างขึ้นไปซ้ายขวาหรือลงทุก ๆ วินาที สุนัข ( D) จะเริ่มต้นที่ตำแหน่งเดียวกันและจะเป็นศูนย์เว้นวรรคหนึ่งสองหรือสามขึ้นไปซ้ายขวาหรือลงทุกวินาที (สุ่มแน่นอน) สุนัขสามารถคาดเดาได้น้อยลงและบางครั้งจะทำงานได้เร็วขึ้นหรือหยุดอย่างสมบูรณ์ สุนัขจะไม่ได้รับมากกว่าจำนวนหนึ่งของหน่วยห่างจากมนุษย์ (ในระยะทางแบบยุคลิด) ซึ่งเป็นความยาวของสายจูง ( L) ตัวอย่างเช่นถ้าLเป็น6ตำแหน่งที่ถูกต้องจะเป็นH(0,0) D(4,4) (เนื่องจากระยะทางประมาณ 5.65 หน่วย) แต่ไม่ใช่H(0,0) D(5,4)(ประมาณ 6.4 หน่วย) ถ้าหากสุนัขเคลื่อนไหวจะเป็นการละเมิดข้อกำหนดระยะห่างของสายจูงมันจะต้องไปให้ไกลที่สุดเท่าที่จะทำได้ในทิศทางที่กำหนดซึ่งไม่ละเมิดข้อกำหนดระยะทาง ตัวอย่างเช่นหากตำแหน่งอยู่H(0,0) D(3,4)และสุนัขถูกสุ่มเลือกที่จะย้าย 3 ช่องว่างไปทางขวามันจะไปD(4,4)เนื่องจากเป็นจุดที่ไกลที่สุดที่สามารถไปได้โดยไม่ต้องไปไกลเกิน 6 หน่วย (โปรดทราบว่าสิ่งนี้อาจส่งผลให้เกิดการเคลื่อนที่ของช่องว่าง 0 นั่นคือไม่มีการเคลื่อนไหวเลย!) กฎเบ็ดเตล็ด: การเคลื่อนไหวของมนุษย์ก่อน มนุษย์จะต้องไม่เกินความยาวของสายจูงขณะเคลื่อนที่ …
14 code-golf  random 

3
ค้นหาการเริ่มต้นที่ดีที่สุดของ Chomp
Chompเป็นเกมสำหรับผู้เล่นสองคนที่มีรูปสี่เหลี่ยมผืนผ้า ผู้เล่นแต่ละคนผลัดกันถอดชิ้นส่วนใด ๆ พร้อมกับชิ้นส่วนทั้งหมดด้านบนและด้านขวา ผู้ใดก็ตามที่เอาท่อนล่างซ้าย สามารถพิสูจน์ได้ค่อนข้างง่ายว่าผู้เล่นคนแรกจะมีการเคลื่อนไหวที่ชนะ (ยกเว้นด้วยสี่เหลี่ยม 1 ต่อ 1) หามัน อินพุตคือขนาดของสี่เหลี่ยมผืนผ้า (ตัวเลขสองตัว) เอาท์พุทเป็นที่ตั้งของการย้ายที่ชนะ (ตัวเลขสองตัว) หากมีการชนะมากกว่าหนึ่งครั้งคุณสามารถส่งออกได้เลย นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุด (ทุกภาษา) ชนะ ตัวอย่าง หมายเหตุ: ผลลัพธ์เป็นเพียงตัวเลขสองตัว ASCII art ด้านล่างเป็นเพียงการแสดงให้เห็นถึงความหมายของตัวเลข อินพุต: 5 3 (ดัชนีเริ่มต้นที่ 1 จากมุมซ้ายล่าง) ผลลัพธ์: 4 3 XXX-- XXXXX XXXXX อินพุต: 4 4 ผลลัพธ์: 2 2 X--- X--- X--- XXXX โบนัส ลบ …
14 code-golf 

24
รวมสองรายการที่เรียงลำดับ
ผสานเรียง ในความท้าทายนี้คุณจะใช้รูทีนย่อยผสานของการเรียงลำดับการผสาน โดยเฉพาะคุณต้องสร้างฟังก์ชั่นหรือโปรแกรมหรือคำกริยาหรือที่คล้ายกันซึ่งจะมีสองรายการแต่ละเรียงในลำดับที่เพิ่มขึ้นและรวมไว้ในหนึ่งรายการเรียงตามลำดับที่เพิ่มขึ้น ที่ต้องการ: - อัลกอริทึมของคุณจะต้องใช้เวลาเชิงเส้นแบบเชิงเส้นเท่ากับขนาดของอินพุต โปรดหยุดการแก้ปัญหา O (n ^ 2) คุณไม่สามารถใช้ฟังก์ชั่นในตัวที่มีความสามารถในการเรียงลำดับรายการหรือรวมรายการหรืออะไรทำนองนั้น ดุลยพินิจของผู้เขียน รหัสควรจะสามารถจัดการองค์ประกอบที่ซ้ำกัน ไม่ต้องกังวลกับรายการที่ว่างเปล่า ตัวอย่าง: merge([1],[0,2,3,4]) [0,1,2,3,4] merge([1,5,10,17,19],[2,5,9,11,13,20]) [1, 2, 5, 5, 9, 10, 11, 13, 17, 19, 20] นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดอาจชนะ!

2
คำไขว้บังคับ!
คริสผู้เสพติดปริศนาอักษรไขว้ที่มีความลับมีอัลกอริทึมที่กำหนดไว้สำหรับลำดับที่เขาแก้ไขได้ เราจะใช้ภาพด้านบนเป็นแนวทาง คริสมักจะเริ่มต้นด้วยเบาะแสแรกในกรณีนี้ 1 ข้าม คริสเป็นคนที่มีความสามารถในการไขว้กันดังนั้นจึงคิดว่าเขาจะรู้คำตอบสำหรับเบาะแสที่เขากำลังทำอยู่เสมอ เมื่อคริสทำเบาะแสได้สำเร็จเขาจะตรวจสอบเบาะแสทั้งหมดที่อยู่ติดกับที่เขาทำเสร็จแล้ว (ในกรณีแรกคือ 1 ลง, 2 ลงและ 3 ลง) จากนั้นกรอกข้อมูลให้ครบด้วยจำนวนที่น้อยที่สุด หากไม่มีเงื่อนงำที่อยู่ติดกันเขาจะไปที่ขั้นตอนที่ 3 หากเบาะแสเป็นเช่นนั้นหมายเลขถัดไป (ตามที่อธิบายไว้ในขั้นตอนที่ 3) มีทั้งเงื่อนงำข้ามและเงื่อนงำลงเขาจะทำตามข้ามเงื่อนงำก่อน (แน่นอน 100% ขอบนี้บน OCD!) หากไม่มีเบาะแสที่อยู่ติดกันเขาจะไปที่เบาะแสต่อไปที่มีอยู่ถัดไปเป็นตัวเลข (ข้ามหรือลง) ทำซ้ำจากขั้นตอนที่ 2 จนกระทั่งเบาะแสทั้งหมดเสร็จสมบูรณ์ และนี่คือที่มาของคุณ coders ที่รัก คุณได้รับมอบหมายให้สร้างรหัสที่สามารถให้เทมเพลตไขว้เพื่อให้ได้ผลลัพธ์ที่อธิบายลำดับของเบาะแสตามอัลกอริทึมของ Chris ในการแก้ปัญหา รหัสจะยอมรับการป้อนข้อมูลของแม่แบบปริศนาคำไขว้ในรูปแบบของการเป็น.ตัวแทนของสี่เหลี่ยมสีขาวและเป็น#ตัวแทนของสี่เหลี่ยมสีดำ ตัวอย่าง : .....#......... .#.#.#.#.#.#.#. ...#...#....... .#.#.#.#.#.#.#. ....#.......... ##.#.#.#.#.#.#. ......#........ .###.#####.###. ........#...... .#.#.#.#.#.#.## ..........#.... …

21
ค้นหาสุดขั้วในพื้นที่
เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้ในรายการและสร้างรายการของสุดขั้ว ในรายการ[x_0, x_1, x_2...]มากในท้องถิ่นเป็นx_iเช่นนั้นx_(i-1) < x_iและx_(i+1) < x_iหรือและx_(i-1) > x_i x_(i+1) > x_iขอให้สังเกตว่าองค์ประกอบแรกและสุดท้ายของรายการไม่สามารถสุดขั้วท้องถิ่น ดังนั้นสำหรับบางตัวอย่าง local_extremes([1, 2, 1]) = [2] local_extremes([0, 1, 0, 1, 0]) = [1, 0, 1] local_extremems([]) = [] นี่คือรหัสกอล์ฟเพื่อให้รหัสที่สั้นที่สุดชนะ!
14 code-golf 

7
แก้เขาวงกตลูกศรย้อนกลับ
นี่คือ "เขาวงกตลูกศร": v < > v > ^ > v ^ < * *เครื่องหมายจุดที่คุณจะเสร็จสิ้น เป้าหมายของคุณคือการหาที่เขาวงกตเริ่มต้น (เพราะฉะนั้นเขาวงกตกลับ) ในกรณีนี้มันเป็นครั้งแรก>ในบรรทัดที่สอง v------< S-+---v | | >--^ >-+-------v ^ < * โปรดทราบว่าต้องใช้ลูกศรทั้งหมด นอกจากนี้โปรดทราบว่าคุณสามารถสันนิษฐานได้ว่าเส้นจะถูกเติมด้วยช่องว่างให้มีความยาวเท่ากัน โปรแกรมของคุณต้องป้อนเขาวงกตในลักษณะที่เหมาะสม (stdin จากไฟล์กล่องข้อความ ฯลฯ ) อย่างไรก็ตามเขาวงกตจะต้องไม่บุบสลายอย่างสมบูรณ์ ตัวอย่างเช่นคุณไม่สามารถป้อนบรรทัดที่คั่นด้วยเครื่องหมายจุลภาค การป้อนข้อมูลจะต้องตรงเขาวงกต คุณต้องแสดงจุดเริ่มต้นของเขาวงกตด้วยวิธีที่สมเหตุสมผล ตัวอย่างเช่นคุณสามารถ ส่งออกพิกัดของการเริ่มต้น เอาท์พุทเขาวงกตทั้งหมดด้วยลูกศรเริ่มต้นแทนที่ด้วย S เอาท์พุทเขาวงกตทั้งหมดด้วยลูกศรทั้งหมดยกเว้นลูกศรเริ่มลบออก (ช่องว่างเหมือนเดิม!) เป็นต้น ตราบใดที่คุณสามารถบอกได้ว่าลูกศรไหนเป็นลูกศรเริ่มจากนั้นก็โอเค ตัวอย่างเช่นผลลัพธ์ของ "0" "2" ไม่เป็นไรไม่ว่าบรรทัดใหม่และราคาจะเป็นยังไงก็ตามคุณยังสามารถบอกได้ว่าจุดเริ่มต้นนั้นอยู่ที่ไหน นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ
14 code-golf 

12
ทิศทาง Brainf * ckish
งานของคุณ - หากคุณเลือกที่จะยอมรับมัน - คือการสร้างโปรแกรมที่แยกวิเคราะห์และประเมินสตริง (จากซ้ายไปขวาและความยาวตามอำเภอใจ) ของโทเค็นที่ให้ทิศทาง - ซ้ายหรือขวา ต่อไปนี้เป็นโทเค็นที่เป็นไปได้ทั้งสี่และความหมาย: > go right one single step < go left one single step -> go right the total amount of single steps that you've gone right, plus one, before you previously encountered this token and reset this counter to zero <- …

1
โหลด JavaScript และ SHA-256
นี่คือปริศนาการเล่นกอล์ฟรหัสที่มีแอปพลิเคชันในโลกแห่งความจริง เบราว์เซอร์ปัจจุบันบางตัวหากคุณป้อน URL ที่ดูเหมือน data:text/html,<script>alert("hi")</script> จะรันโค้ด JavaScript ที่ให้มา ตอนนี้สมมติว่าคุณมี URL ซึ่งดูเหมือน (pseudocode): data:text/html,<script> myPublicKey="12345678"; cryptoLib=download("http://example.com/somecryptolib.js"); if(sha256sum(cryptoLib) == "12345678") eval(cryptoLib) </script> หากคุณพิมพ์สิ่งนี้ลงบนนามบัตรเป็นรหัส QRใครก็ตามที่ไปที่ URL ด้วยเบราว์เซอร์ที่เหมาะสมจะได้รับไคลเอนต์เข้ารหัสลับสาธารณะกุญแจสาธารณะด้วยรหัสสาธารณะของคุณที่โหลดไว้ล่วงหน้าโดยไม่ต้องติดตั้งอะไรเลย เนื่องจากการตรวจสอบแฮชคุณสามารถมั่นใจได้ว่าพวกเขาได้รับซอฟต์แวร์ crypto จริงแม้ว่าISPของพวกเขาจะยุ่งกับการรับส่งข้อมูล น่าเสียดายที่รหัสจริงของปลอมนี้ค่อนข้างยาวสำหรับรหัส QR ความท้าทายของฉันคือ: คุณทำมันสั้นแค่ไหน? การดำเนินการจะ: เป็นข้อมูล: ... URL ที่ดำเนินการอย่างถูกต้องจากแถบที่อยู่ของ Chrome และ Firefox (ในการสร้างข้อมูลที่ถูกต้อง: URL คุณจะต้องเข้ารหัส% เป็น% 25 และตัดการขึ้นบรรทัดใหม่) มี URL และแฮชSHA-256ฝังอยู่โดยควรเป็นตัวอักษรสตริงข้อความธรรมดาใกล้จุดเริ่มต้น ดาวน์โหลดไฟล์จาก URL …

9
เคล็ดลับการตีกอล์ฟแบบแบตช์
Windows Batch (CMD) เป็นภาษาที่เหมาะสมที่สุดสำหรับการตีกอล์ฟ หลีกเลี่ยงตัวอักษรขึ้นบรรทัดใหม่ หากคุณกำลังมองหารหัสที่สั้นที่สุดเป็นไบต์ซึ่งตรงข้ามกับตัวอักษรคุณจะต้องกำจัดการขึ้นบรรทัดใหม่ที่ไม่จำเป็นออกไป (อักขระขึ้นบรรทัดใหม่ = 2 ไบต์) คุณสามารถใช้การ&ดำเนินการนี้เพื่อตัดหนึ่งไบต์สำหรับแต่ละคำสั่ง echo Hello&echo World. การตั้งค่าตัวแปร เมื่อตั้งค่าตัวแปรโดยใช้สวิตช์setตัวแยกวิเคราะห์จะละเว้นช่องว่าง set /a a+=1 set /p b="User Input: " :: Will be handled the same as.. set/aa+=1 set/pb="User Input: " โปรดทราบว่ากฎการแยกวิเคราะห์เดียวกันไม่ได้ใช้กับคำสั่งทั้งหมด - ตัวอย่างเช่นสำหรับลูปต้องใช้ช่องว่าง ยกเว้นระหว่างset, string, or command(คือสิ่งที่อยู่ภายในวงเล็บ) doและคำว่า for /f %%a in (file.txt)do ... การแสดงออกทางคณิตศาสตร์อย่างง่าย …
14 code-golf  tips 

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