การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

8
ขีดฆ่า 44 ยังเป็นปกติ 44; (
บทนำ เมื่อวันที่ 24 มีนาคม 2015 @isaacgแข็งแรงเล่นกอล์ฟคำตอบของเขา Pyth 44-42 ไบต์ เนื่องจากเครื่องหมายขีดฆ่า 44 ( 44 ) ดูเหมือนว่าปกติ 44 มาก@Optimizerจึงแสดงความคิดเห็นต่อไปนี้: ถูกขีดฆ่าออก 44 ยังคงเป็นเรื่องปกติ 44 :( หลังจากนั้นในวันที่ 21 ตุลาคม 2015 @ Doorknob ♦ golfed คำตอบ Ruby ของเขาจาก 44 ถึง 40 (และ 38 ต่อมา) ไบต์และเพิ่มส่วนต่อไปนี้ในคำตอบของเขาพร้อมลิงก์ไปยังความคิดเห็นดั้งเดิมของ@Optimizer : ขีดฆ่า 44 ยังเป็นปกติ 44; ( นี่คือจุดเริ่มต้นของmeme คำตอบ - การผูกมัดซึ่งทุกคนใน …

30
การบีบอัดข้อความ
ด้วยข้อความที่ระบุด้านล่างมีคำบางคำในข้อความที่ซ้ำหลายครั้งในข้อความ ใช้ภาษาการเขียนโปรแกรมเพื่อเขียนรหัสย่อที่บีบอัดข้อความเพื่อแสดง หรือกล่าวอีกนัยหนึ่งให้ใช้จำนวนไบต์ที่น้อยที่สุดเพื่อแสดงข้อความ ข้อความคือ: Peter Piper picked a peck of pickled peppers. A peck of pickled peppers Peter Piper picked. If Peter Piper picked a peck of pickled peppers, Where's the peck of pickled peppers Peter Piper picked?

26
คำว่า coprime หรือไม่
ป.ร. ให้คำรักษาทุกตัวอักษรที่เป็นตัวเลขที่อยู่ในตัวอักษรภาษาอังกฤษ (เพื่อให้aเป็น 1 bกลายเป็น 2 zกลายเป็น 26 และอื่น ๆ ) และตรวจสอบว่าทั้งหมดของพวกเขารวมถึงรายการที่ซ้ำกันเป็นคู่coprime การป้อนข้อมูลเป็นเพียงหนึ่งคำของตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก เอาท์พุทคือความจริงถ้าคำว่า coprime: ค่าความจริง / เท็จใด ๆ แต่เพียงสองรูปแบบของพวกเขา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม กรณีทดสอบ: man: True day: True(ขอบคุณØrjan Johansen) led: False( l=12และd=4มีgcd=4) mana: True(แม้ว่าจะaเกิดขึ้นหลายครั้ง 1 และ 1 เป็น coprimes) mom: False( gcd(13,13)=13)) of: False(ขอบคุณ xnor; แม้ว่า15∤6, gcd(15,6)=3) a: True(หากไม่มีตัวอักษรคู่ให้ถือว่าคำว่า coprime ด้วย) นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

20
โคมไฟลาวาแบบง่ายๆ
บทนำ: ฉันคิดว่าทุกคนรู้ว่าโคมไฟลาวาคืออะไร แต่ในกรณีที่พวกเขาไม่ได้: (แหล่งรูปภาพ) โดยพื้นฐานแล้วพวกมันเป็นหลอดแก้วที่บรรจุขี้ผึ้งในของเหลวโปร่งแสง ส่วนด้านล่างถูกทำให้ร้อนเมื่อเปิดหลอดไฟทำให้เกิดการเปลี่ยนแปลงของความหนาแน่นและทำให้ขี้ผึ้งลอยขึ้นไปด้านบน เมื่อมันเย็นตัวลงมันจะตกลงมาอีกครั้งทำให้เกิดผลกระทบที่เราเห็นด้านบน โดยปกติจะใช้เวลาประมาณ 45-60 นาทีสำหรับฐานของหลอดไฟที่จะเพิ่มอุณหภูมิสูงพอที่จะเปลี่ยนขี้ผึ้งให้เป็นขี้ผึ้งเหลว (หากหลอดไฟตั้งอยู่ในพื้นที่ที่อุณหภูมิห้อง) ข้อมูลเพิ่มเติมเกี่ยวกับ Wikipedia ซึ่งใช้เป็นแหล่งข้อมูลสำหรับข้อความบางส่วนด้านบน ท้าทาย: ระบุจำนวนเต็มบวกที่nระบุจำนวนนาทีที่ผ่านไปนับตั้งแต่เราเปิดหลอด Lava แล้วส่งออกสถานะสุ่มของหลอด Lava ตามจำนวนเต็มห้าระดับ สำหรับความท้าทายนี้เราจะบอกว่าโคมไฟลาวามีขี้ผึ้งทั้งหมด 1,000 หน่วยและเรามีห้าระดับที่ขี้ผึ้งสามารถอยู่ได้ 1) หากnต่ำกว่า 45 โคมไฟลาวายังคงร้อนขึ้นดังนั้นเอาต์พุตจะเป็นสี่บรรทัดว่าง1000ที่ด้านล่าง: 1000 2) หากnอยู่ในช่วง[45, 60)ที่หลอดลาวามีอุณหภูมิสูงขึ้นพอที่ขี้ผึ้งจะเคลื่อนที่ไปรอบ ๆ แต่ยังไม่สูงมาก ขี้ผึ้งสามารถเข้าถึงและรวมถึงระดับที่สาม 3) ถ้าnมี60หรือสูงกว่าขี้ผึ้งสามารถอยู่ในระดับใดก็ได้ในห้าระดับ ดังนั้นเมื่อได้รับจำนวนเต็มบวกnเป็นอินพุตเราจะแสดงสถานะสุ่มโดยคำนึงถึงกฎสามข้อข้างต้น นี่คือตัวอย่างผลลัพธ์: ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 45: 523 106 371 913 87 ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 60: 73 …

24
ตรวจสอบอาร์เรย์อุโมงค์ของฉัน
ลองนึกภาพคุณมีอาร์เรย์ของจำนวนเต็มซึ่งมีค่าที่ไม่เป็นลบเป็นตัวชี้ไปยังตำแหน่งอื่นในอาร์เรย์เดียวกันเฉพาะค่าที่เป็นตัวแทนของอุโมงค์ดังนั้นถ้าค่าในตำแหน่ง A เป็นค่าบวกและชี้ไปที่ตำแหน่ง B ดังนั้นค่าในตำแหน่ง B จะต้องเป็นบวกและชี้ไปที่ตำแหน่ง A เพื่อแสดงปลายทั้งสองของอุโมงค์ ดังนั้น: ท้าทาย ให้อาเรย์ของจำนวนเต็มตรวจสอบว่าอาเรย์นั้นสอดคล้องกับข้อ จำกัด ในการเป็นอาเรย์อุโมงค์และคืนค่าสองค่าที่ชัดเจนและสอดคล้องกันสำหรับความจริงและเท็จ ค่าในอาร์เรย์จะต่ำกว่าศูนย์สำหรับตำแหน่งที่ไม่ใช่ช่องสัญญาณและศูนย์หรือสูงกว่าสำหรับตำแหน่งช่องสัญญาณ หากอาร์เรย์ของคุณมีการจัดทำดัชนีไว้ 1 รายการค่าศูนย์จะแสดงถึงตำแหน่งที่ไม่ใช่ช่องสัญญาณ ไม่จำเป็นต้องตรวจสอบค่าที่ไม่ใช่ช่องสัญญาณ หากค่าบวกในเซลล์ชี้ไปที่ตัวเองนั่นเป็นความเท็จ ถ้า A ชี้ไปที่ B, B ถึง C และ C ถึง A นั่นเป็นความเท็จ หากค่าบวกคะแนนเกินขีด จำกัด ของอาร์เรย์นั่นเป็นเท็จ ตัวอย่าง ตัวอย่างต่อไปนี้เป็นดัชนี 0: [-1, -1, -1, 6, -1, -1, 3, -1, -1] Truthy (position 3 …

2
นี่เป็นเมทริกซ์ Weyr หรือไม่?
มีประเภทของเป็นn × nเมทริกซ์Wเรียกว่าพื้นฐานรูปแบบที่ยอมรับ Weyr เมทริกซ์ดังกล่าวอธิบายโดยบล็อกและมีคุณสมบัติดังต่อไปนี้โดยใช้แผนภาพอ้างอิงต่อไปนี้: บล็อกเส้นทแยงมุมหลักW iiมีn ฉัน × n ฉันเมทริกซ์ของแบบฟอร์มλ ฉันn ฉันที่ฉันn ฉันเป็นn ฉัน × n ฉันเมทริกซ์เอกลักษณ์ n 1 ≥ n 2 ≥ ... ≥ n r บล็อกซูเปอร์แปดเหลี่ยมแรกW k-1, kสำหรับk ∈ 2..rคือเมทริกซ์n k-1 × n kที่มีคอลัมน์เต็มในรูปแบบแถวลดแถวหรือมากกว่าเพียงแค่ใส่ฉันn kนั่งอยู่ด้านบนของn k-1 - n kศูนย์แถว บล็อกอื่น ๆ ทั้งหมดคือ0เมทริกซ์ ตัวอย่างเช่น: บล็อกเส้นทแยงมุมหลัก (สีเหลือง) เป็นเช่นนั้นว่าฉันคือ 4, …

30
ค่าสูงสุด () ไม่เพียงพอ
Intro เพื่อนโพสต์คำถามนี้ในวันนี้ด้วยวิธีที่แตกต่างกันเล็กน้อย - "คำสั่ง [Python] เดียวสามารถกำหนดจำนวนเต็มจำนวนมากที่สุดและพวกเขาไม่เท่ากันหรือไม่" ในขณะที่เราไม่พบวิธีการทำสิ่งนี้ภายในคำจำกัดความที่สมเหตุสมผลของ "คำสั่งเดียว" ฉันคิดว่ามันอาจเป็นปัญหาที่สนุกสำหรับการเล่นกอล์ฟ ท้าทาย " ส่งคืนรายการที่ใหญ่ที่สุดของจำนวนเต็มถ้า - และ - เท่านั้น - หากไม่เท่ากับทั้งหมด " โดยเฉพาะอย่างยิ่ง: รับสตริงที่มีเฉพาะรายการจำนวนเต็มที่คั่นด้วยเครื่องหมายจุลภาค: หากพวกเขาเท่ากันทั้งหมดคืน / ส่งออกไม่มีอะไร อื่นกลับ / ส่งออกที่ใหญ่ที่สุด กฎระเบียบ การป้อนข้อมูลจะต้องเป็นสตริงที่มีเพียงรายการคั่นด้วยเครื่องหมายจุลภาคของจำนวนเต็ม การส่งออกจะต้องเป็นอะไร (การส่งออกของทุกชนิดไม่ได้) หรืออื่น ๆ องค์ประกอบที่ใหญ่ที่สุดจากการป้อนข้อมูลที่แสดงเป็นมันเป็นในการป้อนข้อมูล คอมเมนต์อาจเป็นโปรแกรมเต็มรูปแบบหรือเพียงแค่ฟังก์ชั่นให้คุณมีวิธีทดสอบ! สมมติฐาน สมมติว่าองค์ประกอบรายการอินพุตอาจมากกว่าหนึ่งหลัก แต่ไม่ใหญ่กว่า (2 32 - 1) สมมติว่ารายการอินพุตมีองค์ประกอบมากกว่าหนึ่งล้านรายการ สมมติว่าอินพุตจะไม่รวมค่าลบ สมมติว่าอินพุตจะไม่ว่างเปล่า เพื่อหลีกเลี่ยงข้อสงสัยคำอธิบายของการท้าทายที่ให้หลังจาก "เจาะจงมากขึ้น" จะแทนที่คำแถลงของการท้าทายที่อยู่เหนือ ("กลับมาที่ใหญ่ที่สุด ... …
18 code-golf 

14
ตารางสุ่มสมมาตร
ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งคืนหรือพิมพ์เมทริกซ์จตุรัสสมมาตรแบบสุ่ม อินพุต N : ขนาดของเมทริกซ์คือ6 x 6 เอาท์พุต เมทริกซ์ คุณสามารถพิมพ์กลับเป็นสตริง (ด้วยการขึ้นบรรทัดใหม่) หรือเป็นรายการ / อาร์เรย์ของรายการ / อาร์เรย์ กฎระเบียบ คุณต้องใช้อย่างน้อยNอักขระที่แตกต่างกันซึ่งNขนาดของเมทริกซ์จตุรัส (อินพุต) อยู่ที่ใด เนื่องจากเราใช้ตัวอักษร [a, z] [A, Z] และตัวเลข [0, 9] (และมีเพียง 1 หลักเท่านั้นในเวลานั้น) คุณสามารถสันนิษฐานได้N < 27และN > 2นั่นเป็นเพราะN <= 2คุณไม่สามารถมีตัวอักษรทั้งสองได้ และตัวเลข ท้ายสุด แต่ไม่ท้ายสุดตัวอักษร / ตัวเลขทุกตัวต้องมีความน่าจะเป็นที่ไม่เป็นศูนย์ที่เกิดขึ้น (การแจกเครื่องแบบไม่จำเป็น) อย่างไรก็ตามผลลัพธ์ต้องมีNตัวอักษร / ตัวเลขต่างกันอย่างน้อย เมทริกซ์จะต้องมีทั้งแนวนอนและแนวตั้งสมมาตร 2 …
18 code-golf  matrix 

12
ในการขับขี่ที่เป็นหลุมเป็นบ่อ
งานของคุณคือการเขียนโปรแกรมคอมพิวเตอร์หรือฟังก์ชั่นที่ใช้รายการจำนวนเต็มบวกอย่างน้อย 2 ตัวและกำหนดว่าเป็น "ซิกแซก" หรือไม่ ลำดับคือคดเคี้ยวไปมาถ้าหากตัวเลขสลับกันในการมีขนาดใหญ่และเล็กกว่าจำนวนที่มาก่อนพวกเขา ตัวอย่างเช่นและเป็นซิกแซก แต่และไม่ใช่[1,2,0,3,2][1,2,0,3,2][1,2,0,3,2][ 1 , 2 , 0 , 0 , 3 , 1 ] [ 1 , 2 , 3 , 1 ][4,2,3,0,1][4,2,3,0,1][4,2,3,0,1][ 1 , 2 , 0 , 0 , 3 , 1 ][1,2,0,0,3,1][1,2,0,0,3,1][ 1 , 2 , 3 , 1 ][1,2,3,1][1,2,3,1] สำหรับการตัดสินใจของคุณคุณควรส่งออกหนึ่งในสองค่าที่สอดคล้องกันที่แตกต่างกันสำหรับแต่ละความเป็นไปได้ …

20
เมทริกซ์ยุบ
ที่เกี่ยวข้อง: การออกแบบ Let 's หลักกระเบื้องโมเสค , พิมพ์ / Output L-phabet Sandbox โพสต์ที่นี่ รับ 2 อินพุตC = columns and rows, S = starting pointเอาต์พุตเมทริกซ์ดังนี้: Input 4, 3 1 2 3 0 2 2 3 0 3 3 3 0 0 0 0 0 คำอธิบาย ป.ร. ให้ไว้ C = 4, S = …
18 code-golf  matrix 

10
ถอดรหัสรูปแบบ Wechsler ที่ขยายเพิ่ม
ความท้าทายนี้จะขึ้นอยู่กับการโพสต์ Sandbox โดยuser48538 เนื่องจากเขาไม่ได้ใช้งานเว็บไซต์นี้อีกต่อไปฉันจึงเข้าร่วมการท้าทายนี้ apgsearchโปรแกรมค้นหาซุปแบบกระจายสำหรับ Game of Life ของ Conway และฐานข้อมูลผลการค้นหาCatagolueใช้apgcodesเพื่อจัดหมวดหมู่และแสดงถึงรูปแบบ apgcodes ใช้รูปแบบ Wechsler แบบขยายซึ่งเป็นส่วนขยายของรูปแบบสัญลักษณ์ที่พัฒนาโดย Allan Wechsler ในปี 1992 ตัวอย่างต่อไปนี้และภาพที่นำมาจากLifeWiki สตริงของอักขระnในชุดที่ตรงกับ regex จะ[0-9a-v]แสดงแถบของห้าแถวกว้างคอลัมน์n ตัวละครแต่ละตัวหมายถึงห้าเซลล์ในคอลัมน์แนวตั้งที่สอดคล้องกับ bitstrings [การ00000, 10000, 01000... 00010, 10010, 01010, 11010... 11111] ตัวอย่างเช่น27deee6สอดคล้องกับยานอวกาศเฮฟวี่เวท : ⎡⎣⎢⎢⎢⎢⎢⎢01000111001011001110011100111001100⎤⎦⎥⎥⎥⎥⎥⎥[01100001101111011111100111100000000] \begin{bmatrix} {\color{Gray}0} & 1 & 1 & {\color{Gray}0} & {\color{Gray}0} & {\color{Gray}0} & {\color{Gray}0} …

19
ประเมินสตริงการแสดงออกพหุนาม
สร้างฟังก์ชั่นที่รับสมการพหุนามซึ่งเป็นค่าxและส่งคืนผลลัพธ์ของการดำเนินการ ตัวอย่าง: ได้รับ4x^2+2x-5และการส่งออกx=3 37นี่คือผลลัพธ์ของ4(3)^2+2(3)-5 สมมติว่าชื่อพหุนามทั้งหมดถูกต้อง รูปแบบพหุนามจะถูกcoefficient(variable)^exponent => 4x^2ยกเว้นเสมอ: เมื่อเลขชี้กำลัง1มันจะเป็นcoefficient(variable) => 4x เมื่อค่าสัมประสิทธิ์1มันจะเป็น(variable)^exponent => x^2 พหุนามเป็นตัวแปรเดียวเท่านั้น ห้ามใช้ไลบรารีภายนอก สัมประสิทธิ์และตัวแปรที่ป้อนสามารถเป็นตัวเลขบวกและลบได้ กรณีทดสอบ ("3x^3-5x^2+2x-10", 5) => 250 ("10x^4-5x^3-10x^2+3x+50", 3) => 644 ("10x+20", 10) => 120 ("-20x^2+20x-50", -8) => -1490 ("9", 5) => 9 ("8x^2+5", 0) => 5 ปรับปรุง รูปแบบพหุนามจะถูกcoefficient(variable)^exponent => 4x^2ยกเว้นเสมอ: เมื่อเลขชี้กำลัง1มันจะเป็นcoefficient(variable) => 4x เมื่อค่าสัมประสิทธิ์1มันจะเป็น(variable)^exponent …

29
นับตั๋วรางวัลนำโชคภายในช่วงที่กำหนด
ในรัสเซียเรามีประเพณี: เราชอบมองหาตั๋วนำโชค นี่คือลักษณะของตั๋วทั่วไป: อย่างที่คุณเห็นตั๋วมีตัวเลขหกหลัก ตัวเลขหกหลักถือว่าโชคดีถ้าผลรวมของสามหลักแรกเท่ากับผลรวมของสามหลักสุดท้าย หมายเลขในรูปภาพไม่ได้โชคดี: 038937 038 937 0 + 3 + 8 = 11 9 + 3 + 7 = 19 11 != 19 ท้าทาย เมื่อได้รับข้อ จำกัด ของช่วง (รวม) แล้วส่งคืนหมายเลขของหมายเลขบัตรโชคดีที่อยู่ภายใน พารามิเตอร์ อินพุต: 2 จำนวนเต็ม: จำนวนเต็มแรกและสุดท้ายในช่วง อินพุตจะอยู่ระหว่าง 0 ถึง 999999 เอาท์พุท: 1 จำนวนเต็ม: จำนวนโชคดีอยู่ในช่วง คุณสามารถรับอินพุตและส่งคืนเอาต์พุตในรูปแบบที่ยอมรับได้ สมมติว่าเลขศูนย์นำหน้าสำหรับตัวเลขที่น้อยกว่า 100,000 ตัวอย่าง 0, …
18 code-golf  math  number 

10
Interleaving Sequences
Interleaved sequences แสดงถึงการรวมของลำดับบางอย่างโดยพลการ ลำดับ interleaved สามารถทำได้โดยการผนวกองค์ประกอบไปยังรายการหนึ่งโดยหนึ่งจากจำนวนรายการบางรายการเลือกองค์ประกอบต่อไปจากบางรายการในแต่ละครั้ง ดังนั้นลำดับ interleaved จะมีองค์ประกอบเดียวกันทั้งหมดของรายการทั้งหมดรวมกันในลำดับที่สอดคล้องกับรายการทั้งหมด interleaving เพียง 1 รายการเท่านั้นคือรายการเดียวกัน ท้าทาย ความท้าทายของคุณคือการสร้างฟังก์ชั่น / โปรแกรมที่ใช้ลำดับและเอาท์พุทที่เป็นไปได้ทั้งหมดของลำดับนั้น ตัวอย่าง Input: [1, 2], [3, 4] Output: [1, 2, 3, 4] [1, 3, 2, 4] [1, 3, 4, 2] [3, 1, 2, 4] [3, 1, 4, 2] [3, 4, 1, 2] Input: [1, …

20
ให้การเรียงสับเปลี่ยนโดยไม่มีจำนวนเต็มต่อเนื่องสองตัวติดกัน
ท้าทาย รับจำนวนเต็มn ≥ 4เอาท์พุทการเปลี่ยนแปลงของจำนวนเต็ม[0, n-1]ด้วยคุณสมบัติที่ไม่มีจำนวนเต็มต่อเนื่องสองตัว (จำนวนเต็มที่มีผลต่างแน่นอน 1) อยู่ติดกัน ตัวอย่าง 4 → [1, 3, 0, 2] 5 → [0, 2, 4, 1, 3] 6 → [0, 2, 4, 1, 3, 5] 7 → [0, 2, 4, 1, 5, 3, 6] คุณสามารถใช้การจัดทำดัชนี 1 แบบแทน (ใช้จำนวนเต็ม[1, n]แทน[0, n-1] ) รหัสของคุณจะต้องทำงานในเวลาพหุนามในnดังนั้นคุณจึงไม่สามารถลองเปลี่ยนลำดับและทดสอบแต่ละอันได้

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