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

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

2
เครื่องบินระเบิด
การเป่าลมขึ้นเป็นเครื่องมือที่ทรงพลังในเรขาคณิตเชิงพีชคณิต จะช่วยให้การกำจัดเอกฐานจากชุดพีชคณิตในขณะที่รักษาส่วนที่เหลือของโครงสร้างของพวกเขา หากคุณไม่คุ้นเคยกับสิ่งใดก็ตามที่ไม่ต้องกังวลการคำนวณจริงนั้นไม่ยากที่จะเข้าใจ (ดูด้านล่าง) ในต่อไปนี้เรากำลังพิจารณาระเบิดขึ้นของจุด( 0, 0 )(0,0)(0,0)ของเส้นโค้งพีชคณิตใน 2D เส้นโค้งพีชคณิตในแบบ 2 มิติจะถูกกำหนดโดย zero-locus ของพหุนามในตัวแปรสองตัว (เช่นp (x , y) =x2+Y2- 1พี(x,Y)=x2+Y2-1p(x,y) = x^2 + y^2 - 1 สำหรับวงกลมหน่วยหรือ p ( x ,y) = y-x2พี(x,Y)=Y-x2p(x,y) = y-x^2สำหรับพาราโบลา) การระเบิดของเส้นโค้งนั้น (ใน( 0 , 0 )(0,0)(0,0)) ถูกกำหนดโดยพหุนามสองอัน r , sR,sr,sตามที่กำหนดไว้ด้านล่าง ทั้งสองRRr และ sss ทำอธิบาย พีพีp …

16
จับคู่หัวข้อการสมัคร MQTT
พื้นหลัง MQTT (Message Queuing Telemetry Transport) เป็นโปรโตคอลการรับส่งข้อความแบบบอกรับสมาชิกที่ใช้มาตรฐาน ISO ( Wikipedia ) แต่ละข้อความมีหัวข้อเช่นตัวอย่างต่อไปนี้: myhome/groundfloor/livingroom/temperature USA/California/San Francisco/Silicon Valley 5ff4a2ce-e485-40f4-826c-b1a5d81be9b6/status Germany/Bavaria/car/2382340923453/latitude ลูกค้า MQTT อาจสมัครสมาชิกหัวข้อข้อความโดยใช้สัญลักษณ์แทน: ระดับเดียว: + ทุกระดับเป็นต้นไป: # ตัวอย่างเช่นการสมัครสมาชิกmyhome/groundfloor/+/temperatureจะสร้างผลลัพธ์เหล่านี้ (ไม่สอดคล้องตามตัวหนา ): ✅ myhome / ชั้นล่าง / ห้องรับแขก / อุณหภูมิ ✅ myhome / ชั้นล่าง / ห้องครัว / อุณหภูมิ ❌ myhome / ชั้นล่าง / ห้องรับแขก …

17
การเรียงตัวอักษรและตัวเลขและเส้นโค้ง
รับสายป้อนเขียนโปรแกรมที่ส่งออกจำนวนบรรทัดและเส้นโค้งที่มี ความท้าทาย ใช้อินพุตจากSTDINหรือวิธีการอินพุตอื่น ๆ เอาท์พุทไปยังSTDOUTหรือวิธีการส่งออกอื่น ๆ จำนวนรวมของเส้นและเส้นโค้งที่มีอยู่ในสตริงในลำดับนั้นขึ้นอยู่กับตารางด้านล่างในข้อมูลโค้ด ควรละเว้นอักขระที่ไม่ใช่ตัวอักษรและตัวเลขใด ๆ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือ รหัสกอล์ฟรหัสที่สั้นที่สุดจึงชนะ ชี้แจง เส้นและเส้นโค้งจะถูกกำหนดโดยตัวอักษรที่ใช้ใน Stackexchange code blocksสำหรับ แวดวง (ชอบO, o, 0) และจุด ( i, j) ถือเป็นเส้นโค้ง 1 เส้น การป้อนข้อมูลสามารถเป็นสตริงรายการของตัวละครสตรีมของตัวละคร bytecodes ฯลฯ เอาท์พุทสามารถเป็นอาร์เรย์ของจำนวนเต็ม tuple ของจำนวนเต็มสตริงคั่นด้วยเครื่องหมายจุลภาค ฯลฯตัวเลขสองต้องแยกจากกันเพื่อให้104ไม่ถูกต้อง แต่10,4, 10 4, 10\n4, [10,4], (10, 4)และอื่น ๆ มี ช่องว่างส่วนหัวและส่วนท้ายเป็นที่ยอมรับได้อย่างสมบูรณ์ ตัวอย่างอินพุตและเอาต์พุต # Format: str -> …

4
ส่วนที่เกี่ยวข้องสำหรับการเสิร์ฟแบดมินตัน
บทนำ: ผมเห็นมีเพียงหนึ่งที่เกี่ยวข้องกับแบดมินตันท้าทายอื่น ๆ ในขณะนี้ ตั้งแต่ฉันเล่นแบดมินตันด้วยตัวเอง (ในช่วง 13 ปีที่ผ่านมา) ฉันคิดว่าฉันจะเพิ่มความท้าทายเกี่ยวกับแบดมินตัน ที่นี่ที่สอง (อันแรกพบได้ที่นี่ ): ท้าทาย: กฎบางอย่างเกี่ยวกับแบดมินตันทำหน้าที่: การให้บริการจะทำในแนวทแยงมุมผ่านเน็ตเสมอ คุณจะต้องให้บริการหลังจากเส้นที่ขนานและใกล้เคียงที่สุดกับเน็ต พื้นที่ที่คุณได้รับอนุญาตให้บริการแตกต่างกันไปขึ้นอยู่กับว่าเป็นพื้นที่เดี่ยว (1 vs 1) หรือสองครั้ง / พื้นที่ผสม (2 vs 2) สำหรับคนโสด (1 กับ 1) พื้นที่สีน้ำเงินในภาพด้านล่างเป็นพื้นที่ที่คุณได้รับอนุญาต นี่คือการรวมส่วนที่ด้านหลัง แต่ไม่รวมชิ้นส่วนที่ด้านข้าง สำหรับคู่ผสม / มิกซ์ (2 vs 2) พื้นที่สีเขียวในภาพด้านล่างเป็นตำแหน่งที่คุณได้รับอนุญาตให้ใช้เซิร์ฟเวอร์ ดังนั้นนี่คือไม่รวมส่วนที่ด้านหลัง แต่รวมถึงชิ้นส่วนที่ด้านข้าง คุณอาจไม่ยืนอยู่บนเส้นเมื่อเสิร์ฟ แต่รถรับส่งจะยังคงอยู่ข้างในถ้าพวกเขาลงจอดบนเส้น นี่คือเค้าโครงของสนามแบดมินตัน: กฏท้าทาย: การป้อนข้อมูล: คุณจะได้รับสองอินพุต: สิ่งที่บ่งบอกว่าเรากำลังเล่นเดี่ยวหรือคู่ / …

28
สตริงการเปลี่ยนบิต
งาน รับสตริงอินพุตของอักขระ ASCII หนึ่งตัวหรือมากกว่าที่ codepoints อยู่ระหว่าง 0 ถึง 128 (พิเศษ) ให้ทำดังนี้: แปลงอักขระแต่ละตัวเป็นรหัส ASCII 7 บิต (ถ้ารหัส ASCII น้อยกว่า 7 บิตใส่ศูนย์นำหน้าบิต) ต่อเชื่อมบิตทั้งหมด (ผลลัพธ์นี้เป็น7*nบิตที่nจำนวนอักขระ) สำหรับแต่ละบิตในบิตสตรีมนี้ให้พิมพ์ 1 หากแตกต่างจากบิตก่อนหน้าและพิมพ์ 0 มิฉะนั้น บิตแรกที่ส่งออกคือ 1 เสมอ ตัวอย่าง การป้อนข้อมูล: Hi เอาท์พุท: 11011001011101 คำอธิบาย: สตริง "Hi" มีรหัส ASCII 72 105 ซึ่งในบิตคือ: 1001000 1101001 และตัวบ่งชี้บิตการเปลี่ยนแปลง: 11011001011101 นี่คือรหัสกอล์ฟ จำนวนไบต์ต่ำสุดชนะ กรณีทดสอบ …

30
พูดคุยล่าม
"Talk" เป็นภาษาที่สะสมจากภาษา Baroquified ซึ่งสร้างขึ้นเพื่อตอบสนองต่อคำพูดของ Dennis ที่ talk.tryitonline.net Waiting for someone to create an esolang called talk. . ภาษา "Talk" มี 4 คำสั่ง: 00 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 0 01 ถ้าตัวสะสมเป็น 0 ให้ตั้งตัวสะสมเป็น 1 10 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 0 11 ถ้าตัวสะสมคือ 1 ให้ตั้งตัวสะสมเป็น 1 การป้อนข้อมูล: อินพุตสามารถใช้วิธีการอินพุตที่ยอมรับได้โดยกฎ I / O มาตรฐานของเรา มีสองอินพุตค่าเริ่มต้นสะสมและโปรแกรม คุณสามารถรวมทั้งสองอินพุตนี้เป็นหนึ่งอินพุตหรือแยกอินพุตของคุณเป็นคำสั่งที่ถูกต้อง …

14
อาร์เรย์เริ่มต้นที่
งานของคุณคือการใช้อาร์เรย์ของตัวเลขและจำนวนจริงและส่งกลับค่าที่จุดนั้นในอาร์เรย์ อาร์เรย์เริ่มต้นที่ππ\pi และถูกนับเข้า ππ\piช่วงเวลา สิ่งที่เรากำลังจะแก้ไขระหว่างองค์ประกอบที่ได้รับ "ดัชนี" ตัวอย่างเช่น: Index: 1π 2π 3π 4π 5π 6π Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ] เพราะมัน ππ\piเราต้องทำตรีโกณมิติบังคับดังนั้นเราจะใช้การแก้ไขโคไซน์โดยใช้สูตรต่อไปนี้: cos( ฉันพอควรπ) + 12∗ ( α - β) + βcos⁡(imodπ)+12∗(α−β)+β{\cos(i \mod \pi) + 1 \over 2} * (\alpha - \beta) + \beta ที่อยู่: ผมiiคืออินพุต "ดัชนี" …
10 code-golf  array 

4
เห็นภาพคณะกรรมการนิ่มเหมือนผู้เชี่ยวชาญ
พื้นหลัง ในเกมของ Nimผู้เล่นเลือกที่จะลบ "หิน" จาก "กอง": ในแต่ละเทิร์นผู้เล่นจะต้องลบระหว่างหนึ่งและหินทั้งหมดจากกองเดียว เป้าหมายของ Nim คือการเอาหินก้อนสุดท้ายออกมาหรือในตัวแปรที่ผิดประเภทเพื่อบังคับให้คู่ต่อสู้ทำเช่นนั้น - อย่างไรก็ตามมันกลับกลายเป็นว่ากลยุทธ์นั้นเหมือนกันเกือบทั้งหมด นิ่มทำให้เกมบาร์สนุก คุณสามารถใช้ไม้ขีดไฟหรือเหรียญสำหรับ "หิน" และ "กอง" โดยทั่วไปจะจัดเรียงเป็นเส้น ด้านล่างเป็นการตั้งค่าแบบคลาสสิกที่มี 1, 3, 5 และ 7: หากคุณไม่เคยเล่น Nim มาก่อนคุณอาจลองใช้มือลองดูก่อนที่จะลองทำสิ่งนี้ ต่อไปนี้เป็นรุ่นที่เรียกว่า "ไข่มุกก่อนสุกร" กลยุทธ์ กลยุทธ์ที่ดีที่สุดในนิ่มก็พอหากินที่วางคนส่วนใหญ่สูญเสียอย่างต่อเนื่องกับผู้เชี่ยวชาญ แต่ง่ายที่จะอธิบายกับเลขคณิตไบนารี อย่างไรก็ตามการดำเนินการ XOR ทางจิตเป็นเรื่องที่ยากดังนั้นโชคดีที่มีวิธีเทียบเท่ากับการมองเห็นกลยุทธ์ที่ถูกต้องซึ่งง่ายต่อการนำไปใช้ในเวลาจริงแม้ในขณะเมา มีสามขั้นตอนเท่านั้น: จัดกลุ่ม "ก้อนหิน" ทางจิตใจในแต่ละบรรทัดเป็นกลุ่มย่อยที่มีขนาดเป็นพลังของ 2 เริ่มต้นด้วยขนาดที่ใหญ่ที่สุดที่เป็นไปได้: 8, 4, 2 และ 1 เพียงพอสำหรับเกมส่วนใหญ่ ลองจับคู่แต่ละกลุ่มกับคู่ในบรรทัดอื่นเพื่อให้ทุกกลุ่มมีคู่ หากไม่สามารถทำได้ให้ลบ "หิน" …

5
Quine ของคำสั่งซื้อ
เขียนโปรแกรมที่เมื่อรันในภาษาที่ต่างกันจะให้ผลลัพธ์การเรียงลำดับไบต์ที่แตกต่างกันของรหัสในแต่ละภาษา ซอร์สโค้ดที่แน่นอนจะถูกนับเป็นการเปลี่ยนลำดับครั้งเดียว "ภาษาที่แตกต่าง" ที่นี่อาจเป็นรุ่นที่แตกต่างกัน (Py 2 และ Py 3) หรือธงมาตรฐานที่แตกต่างกัน มันเป็นเอาท์พุตที่ต่างกันซึ่งบังคับให้เวอร์ชั่นต่างกัน ใช้กฎ quine ที่เหมาะสมสำหรับโปรแกรมในแต่ละภาษา คะแนนของคุณจะถูกคำนวณตาม(Language count)^6/(Code length in bytes)ด้วยคะแนนที่สูงขึ้นจะดีกว่า ตัวอย่าง: หากรหัสของคุณคือAABและทำงานในสามภาษาที่แตกต่างกันจะกลับABAมาAABและAABจากนั้นคะแนนของมันคือ2^6/3(นับเพียงหนึ่งในสองการAABนับ) ไม่เป็นไรถ้าABAไม่มีความหมาย

3
เครื่องมือแก้ไขบรรทัด (มีข้อความเพิ่มเติมที่นี่)
ในช่วงปีที่มีหมอกเมื่อเทอร์มินัลแบบพับเก็บเดินไปทั่วโลกมีสิ่งมีชีวิตแปลก คนพิการผิดปกติและทรงพลังอย่างแปลกประหลาดตัวแก้ไขบรรทัดเต็มไปด้วยแนวการเขียนโปรแกรมในจำนวนที่บอกเล่า ครอบคลุมโลกเท่าที่ตาสามารถมองเห็น ตอนนี้มันตกอยู่ในช่วงเวลาที่ยากลำบาก ประชากรจำนวนมหาศาลนั้นถูกล่าไล่ล่าและขับไล่ให้สูญพันธุ์ มีตัวอย่างอยู่เพียงไม่กี่ตัวเท่านั้นส่วนใหญ่จะอยู่ในกรงที่แคบและไม่มีโครงในสวนสัตว์ที่มีความสว่างน้อยกว่าแม้ว่าจะมีตัวอย่างยัดและติดตั้งอยู่สองสามตัวที่สามารถพบเห็นได้ในพิพิธภัณฑ์น้ำนิ่ง edโอ้และมี แฟรงเกนสไตน์เหมือนพวกเราจะรื้อฟื้นสิ่งมีชีวิตที่สูงส่ง! คำสั่ง โปรแกรมแก้ไขของเราค่อนข้างน้อยและจะสนับสนุนคำสั่งต่อไปนี้ โฟกัสคำสั่งที่เคลื่อนไหว <number>[,<number>]- ย้ายโฟกัสไปยังบรรทัดที่ระบุและหากมีการให้อาร์กิวเมนต์ที่สองกับคอลัมน์สถานะ หมายเลขบรรทัดมากเกินไปรับบรรทัดสุดท้าย หมายเลขคอลัมน์มากเกินไปรับจุดสิ้นสุดของบรรทัด ,<number> - เลื่อนไปที่หมายเลขคอลัมน์บนบรรทัดปัจจุบัน e - ย้ายโฟกัสไปยังจุดสิ้นสุดของไฟล์ แต่อย่าเริ่มบรรทัดใหม่ b - เลื่อนโฟกัสไปที่จุดเริ่มต้นของไฟล์ คำสั่งที่ให้ข้อมูล L- สะท้อนบริบทปัจจุบัน ห้าบรรทัดที่อยู่กึ่งกลางของบรรทัดปัจจุบันจะถูกพิมพ์ ทั้งห้าบรรทัดมีการเยื้องโดยอักขระหนึ่งตัว บรรทัดปัจจุบันถูกทำเครื่องหมายด้วย ">" และอีกบรรทัดที่มี "" ภายใต้บรรทัดเหล่านี้จะมีการพิมพ์อีกบรรทัดหนึ่งซึ่งประกอบด้วยช่องว่างทั้งหมดยกเว้น "^" ในคอลัมน์ปัจจุบัน (พิมพ์ทั้งหมดหกบรรทัด) l - สะท้อนบรรทัดปัจจุบัน p [[<start>],[<end>]]- พิมพ์ไฟล์ตั้งแต่เริ่มต้นจนสิ้นสุดที่อยู่ ค่าเหล่านี้เป็นค่าเริ่มต้นที่ 1 และ 0 (จุดสิ้นสุดของไฟล์) คำสั่งการแก้ไขไฟล์ …
10 code-golf 

6
ให้ต้นไม้สร้างรหัสPrüferของมัน
ใน กราฟทฤษฎีรหัสPrüferเป็นลำดับที่ไม่ซ้ำกันของจำนวนเต็มว่าหมายถึงต้นไม้ที่เฉพาะเจาะจง คุณสามารถค้นหารหัสPrüferของต้นไม้ด้วยอัลกอริทึมต่อไปนี้นำมาจาก Wikipedia: พิจารณา T {1, 2, ..., n}ต้นไม้ที่มีป้ายกำกับจุด ที่ขั้นตอนที่1ให้นำใบไม้ที่มีฉลากขนาดเล็กที่สุดออกแล้วตั้งค่าองค์ประกอบที่iของลำดับPrüferให้เป็นป้ายกำกับของเพื่อนบ้านของใบไม้นี้ (โปรดทราบว่าเนื่องจากเป็นใบไม้จึงมีเพียงเพื่อนบ้านเดียว) คุณควรหยุดการทำซ้ำเมื่อเหลือเพียงสองจุดยอดในกราฟ งาน ให้ต้นไม้ที่มีข้อความเป็นอินพุตเอาต์พุตโค้ดPrüfer คุณสามารถป้อนข้อมูลในลักษณะที่สมเหตุสมผล เช่นเมทริกซ์ adjacency หรือภาษาของคุณแสดงกราฟในตัว ( คุณไม่สามารถรับรหัสPrüferได้ ) นี่คือ รหัสกอล์ฟ ดังนั้นคุณควรมุ่งหวังที่จะลดจำนวนไบต์ในแหล่งที่มาของคุณ กรณีทดสอบ นี่คืออินพุตบางส่วนใน ASCII พร้อมกับเอาต์พุตด้านล่าง คุณไม่จำเป็นต้องรองรับอินพุต ASCII เช่นนี้ 3 | 1---2---4---6 | 5 {2,2,2,4} 1---4---3 | 5---2---6---7 | 8 {4,4,2,6,2,5} 5---1---4 6 | | 2---7---3 {1,1,2,7,3}

15
คำนวณพลังงานที่ซับซ้อน
The Rundown รับอินพุตxและyใด ๆทำการดำเนินการที่ซับซ้อนและพิมพ์ผลลัพธ์ที่สอดคล้องกัน โปรแกรมของคุณควรทำงานอย่างไร รับอินพุตxและyในรูปแบบz = x + yiค้นหาz i-z หากค่าจริงที่แท้จริงของz i-zมีขนาดใหญ่กว่าส่วนจินตภาพสัมบูรณ์ให้พิมพ์ส่วนจริง ในทางกลับกันสำหรับวิธีอื่น ๆ หากค่าทั้งสองเท่ากันให้พิมพ์ค่าใดค่าหนึ่ง ตัวอย่าง x: 2 y: 0 ดังนั้น: z = 2 z^(i-z) ~= 0.192309 + 0.159740i เนื่องจากส่วนจริงมีค่าสัมบูรณ์มากกว่าส่วนจินตภาพโปรแกรมจึงส่งกลับ 0.192309 ตัวอย่างเพิ่มเติม z = 1+i >> 0.5 z = i >> 1 z = 0.5 >> 1.08787 z = …

8
ระยะเวลาที่ยาวที่สุดวนซ้ำควินๆ
อย่างที่เรารู้ quine เป็นโปรแกรมที่ให้ผลลัพธ์ซอร์สโค้ดของมันเอง อย่างไรก็ตามอาจเป็นไปได้ที่จะเขียนโปรแกรมที่ส่งออกเป็นโปรแกรมอื่นที่แตกต่างกันซึ่งจะส่งออกโปรแกรมแรกอีกครั้ง ตัวอย่างเช่นโปรแกรม Python 2 x = '''x = {} print 'print '+'"'*3+x.format("'"*3+x+"'"*3)+'"'*3''' print 'print '+'"'*3+x.format("'"*3+x+"'"*3)+'"'*3 จะเมื่อส่งออกข้อความต่อไปนี้: print """x = '''x = {} print 'print '+'"'*3+x.format("'"*3+x+"'"*3)+'"'*3''' print 'print '+'"'*3+x.format("'"*3+x+"'"*3)+'"'*3""" เมื่อรันเป็นโปรแกรม Python จะเป็นการส่งออกรหัสต้นฉบับอีกครั้ง นี้เรียกว่าควิน iterating เพราะคุณต้องใช้มันสองครั้งที่จะได้รับกลับมารหัสเดิมเราบอกว่ามันมีระยะเวลา 2 แต่แน่นอนช่วงเวลาที่สูงขึ้นเป็นไปได้มาก ความท้าทายของคุณคือการเขียนควินวนซ้ำโดยใช้ระยะเวลานานที่สุดเท่าที่จะทำได้ใน100 ไบต์หรือน้อยกว่าในภาษาที่คุณเลือก (โปรดทราบว่าตัวอย่างของฉันด้านบนไม่ตรงกับข้อกำหนดนี้เนื่องจากมีขนาด 119 ไบต์รวมถึงการขึ้นบรรทัดใหม่) โปรดทราบกฎและคำชี้แจงต่อไปนี้: ใช้กฎ quine ปกติเช่นโปรแกรมของคุณไม่สามารถใช้คุณสมบัติภาษาที่อนุญาตให้เข้าถึงซอร์สโค้ดของตัวเองได้โดยตรง เอาท์พุทซ้ำแล้วซ้ำอีกจะต้องวนกลับไปที่รหัสเดิมของคุณและคุณจะต้องมีการสาธิตหรือพิสูจน์ว่ามันจะ คุณต้องรวมคำอธิบายว่าทำไมรอบจึงยาวเท่าที่คุณพูด …

6
ไขว้กัน
ในตัวแปร quine นี้โปรแกรมของคุณจะต้องส่งออกซอร์สโค้ดของมันที่ถูกย้ายข้ามเส้นทแยงมุมจากด้านบนซ้ายไปขวาล่าง ตัวอย่างเช่น: โปรแกรมของคุณ บน สี่สาย เอาท์พุท yof ono u u r r p l r i o n g e r s a m ช่องว่างในผลลัพธ์ไม่ได้โดยพลการ ช่องว่างปรากฏในสองสถานการณ์: ที่มีช่องว่างในต้นฉบับ (เช่นระหว่างrและlในคอลัมน์ที่สี่) และตำแหน่งที่จำเป็นในการใส่อักขระ (เช่นช่องว่างทั้งหมดในคอลัมน์แรก) จำเป็นต้องใช้ทั้งสองและช่องว่างจะไม่ปรากฏที่ใดก็ได้ อื่นในการส่งออก บรรทัดใหม่ต่อท้ายเดียวในเอาต์พุตสามารถเลือกที่จะข้ามได้ การขึ้นบรรทัดใหม่ในซอร์สโค้ดไม่มีผลต่อเอาต์พุตและการขึ้นบรรทัดใหม่ในซอร์สโค้ดต้องถูกจัดการตามตัวอย่างด้านบน สมมติว่าตัวละครทุกตัวที่ไม่ได้ขึ้นบรรทัดใหม่นั้นมีความกว้างหนึ่งคอลัมน์และสูงหนึ่งแถวถึงแม้ว่าตัวอักษรเช่นแท็บอาจทำให้เกิดผลลัพธ์ที่น่าเกลียด โซลูชันของคุณต้องมีอย่างน้อยสองบรรทัดที่มีอักขระที่ไม่ใช่บรรทัดใหม่อย่างน้อยสองบรรทัดและต้องไม่เป็นแบบทรานสดิวเซอร์ของตนเอง (เอาต์พุตไม่สามารถเหมือนกับแหล่งที่มาได้) การโกงแบบควงที่อ่านจากไฟล์ที่มีซอร์สโค้ดของพวกเขาดึงข้อมูลจาก URL ใช้การสร้างแบบอิน - อินและไม่อนุญาต นี่คือรหัสกอล์ฟ: รหัสสั้นที่สุดในหน่วยชนะไบต์
10 code-golf  quine 

17
กำหนดจุดตัดของสองรายการ
เป้าหมายของคุณคือการคำนวณจุดตัดที่กำหนดไว้ของรายการจำนวนเต็มสองรายการ การแยกถูกกำหนดให้เป็นกลุ่มของจำนวนเต็มแบบไม่เรียงลำดับที่ไม่ซ้ำกันที่พบอย่างน้อยหนึ่งครั้งในรายการอินพุตทั้งสอง อินพุต อินพุตอาจอยู่ในรูปแบบที่ต้องการ (พารามิเตอร์ฟังก์ชัน, stdio ฯลฯ ) และประกอบด้วยรายการจำนวนเต็มสองรายการ คุณหลายคนไม่คิดอะไรเกี่ยวกับแต่ละรายการอื่น ๆ นอกเหนือจากนั้นอาจมีจำนวนเต็มจำนวนที่ไม่เป็นลบ (นั่นคือไม่ได้เรียงลำดับอาจเป็นไปได้ว่าอาจมีรายการซ้ำอาจมีความยาวต่างกันและอาจว่างเปล่า) มีการสันนิษฐานว่าจำนวนเต็มแต่ละรายการจะพอดีกับประเภทจำนวนเต็มที่เป็นภาษาท้องถิ่นของคุณซึ่งอาจมีความยาวมากกว่า 1 หลักทศนิยมและมีการลงชื่อ อินพุตตัวอย่าง: 1 4 3 9 8 8 3 7 0 10 1 4 4 8 -1 เอาท์พุต เอาท์พุทเป็นรายการที่เหมือนจำนวนเต็มแทนชุดจุดตัดของทั้งสองรายการเป็นรูปแบบที่ต้องการ (ค่าส่งคืน stdio ฯลฯ ) ไม่มีความต้องการที่จะเรียงลำดับผลลัพธ์แม้ว่าคุณจะยินดีที่จะจัดให้มีการใช้งานที่เกิดขึ้นกับการเรียงลำดับเสมอ ผลลัพธ์จะต้องเป็นชุดที่ไม่ได้รับคำสั่งที่ถูกต้อง (เช่นจะต้องไม่มีค่าซ้ำกัน) ตัวอย่างกรณีทดสอบ (โปรดสังเกตว่าลำดับของเอาต์พุตไม่สำคัญ): สองบรรทัดแรกคือรายการอินพุตบรรทัดที่สามคือเอาต์พุต (empty)หมายถึงรายการที่ว่างเปล่า (empty) (empty) (empty) 1000 (empty) …

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