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

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

30
ลบคำที่ซ้ำกันออกจากสตริง
ลบคำที่ซ้ำทั้งหมดออกจากประโยคที่ป้อน การป้อนข้อมูลจะเป็นสิ่งที่ชอบและผลผลิตที่ควรจะเป็นcat dog cat dog bird dog Snake snake Snake cat dog bird Snake snakeจะมีช่องว่างคั่นคำอยู่เสมอ คำสั่งเอาต์พุตต้องเหมือนกับอินพุต (ดูตัวอย่าง) คุณไม่จำเป็นต้องจัดการเครื่องหมายวรรคตอน แต่ต้องใช้ตัวอักษรพิมพ์ใหญ่
12 code-golf  string 

12
เล่นเกมกำจัด
บทนำ ในความท้าทายนี้งานของคุณคือจำลองเกมการกำจัดบางประเภท ในเกมผู้เข้าร่วมยืนเป็นวงกลมและทุกคนถือเลขจำนวนเต็ม ในแต่ละรอบของเกมผู้เข้าร่วมทุกคนจะได้คะแนนจากคนที่nก้าวออกไปถ้าnเป็นตัวเลขที่พวกเขาถืออยู่ ถ้าnเป็นบวกพวกเขานับไปทางขวาหากnเป็นลบพวกเขานับทางซ้ายและถ้าnเป็นศูนย์พวกเขาจะชี้ไปที่ตัวเอง ผู้เข้าร่วมทุกคนที่มีคนชี้ไปที่พวกเขาจะถูกกำจัดและออกจากวงกลม จบรอบนี้ รอบต่อไปจนกว่าจะไม่มีผู้เข้าร่วมเหลือ อินพุต ข้อมูลที่คุณป้อนเป็นรายการจำนวนเต็มที่ไม่ว่างเปล่าในรูปแบบที่เหมาะสม มันหมายถึงตัวเลขที่ผู้เข้าร่วมของเกมจะถือ เอาท์พุต ผลลัพธ์ของคุณคือจำนวนรอบที่ใช้จนกว่าเกมจะจบลง ตัวอย่าง [3,1,-2,0,8]พิจารณารายชื่อการป้อนข้อมูล ในรอบแรกสิ่งต่อไปนี้จะเกิดขึ้น: คนถือจุดที่เหมาะสมในการถือครองคน30 คนถือจุดที่เหมาะสมในการถือครองคน1-2 คนที่ถือครองจุดซ้ายที่ถือครองคน-23 คนที่ถือ0คะแนนในตัวเอง บุคคลที่ถือ8คะแนนอยู่ที่บุคคลที่ถือ-2(รายการแสดงถึงวงกลมดังนั้นจึงล้อมรอบที่ปลาย) ซึ่งหมายความว่า0, -2และจะถูกตัดออกเพื่อให้รอบที่สองจะทำกับรายการ3 [1,8]ที่นี่1ชี้ไปที่8และ8ชี้ไปที่ตัวเองจึง8ถูกกำจัด รอบที่สามจะทำกับรายการ[1]ที่1เพียงแค่ชี้ที่ตัวเองและจะถูกกำจัดออก 3มันต้องใช้เวลาสามรอบเพื่อกำจัดผู้เข้าร่วมทั้งหมดเพื่อการส่งออกที่ถูกต้องคือ กฎและการให้คะแนน คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ [3] -> 1 [0,0,0] -> 1 [-2,-1,0,1,2,3,4,5,6,7] -> 2 [5,5,5,6,6,6] -> 2 [3,-7,-13,18,-10,8] -> 2 [-7,5,1,-5,-13,-10,9] -> 2 [4,20,19,16,8,-9,-14,-2,17,7,2,-2,10,0,18,-5,-5,20] -> …

3
คณิตศาสตร์ในแมนฮัตตัน
ฉันกำหนดผู้ประกอบการต่อไปนี้: Manhattan Addition a + M b สำหรับตัวเลขหลักเดียวเป็นผลมาจากการต่อ b เข้ากับ a ดังนั้น + M b = 10a + b ดังนั้นตัวดำเนินการทั่วไป + Mจึงถูกกำหนดดังนี้: a + M b = 10a + b การลบแมนฮัตตัน a - M b สำหรับตัวเลขหลักเดียวเป็นผลมาจากการลบ b สุดท้ายออกจาก ดังนั้นโอเปอเรเตอร์ - Mถูกกำหนดไว้ใน pseudocode: a - M b = a ลบล่าสุด การคูณแมนฮัตตัน …

5
แล้วพบกันใหม่ในชีวิต!
พวกเราส่วนใหญ่หายไปแฟน ๆ ที่นั่นจำคอมพิวเตอร์ที่ Desmond ต้องพิมพ์ตัวอักษร "4 8 15 16 23 42" ในทุก ๆ 108 นาทีหรือโลกจะจบลง (หรือจะ?) ความท้าทายที่นี่คือการสร้างโปรแกรมที่จะทำสิ่งเดียวกันโดยกำหนดให้ทุก ๆ 108 วินาทีอินพุต4 8 15 16 23 42ถูกป้อนหรือจะแสดงข้อความ Sorry, the world has ended with status code -1 ควรเตือนผู้ใช้ใน 100 วินาทีว่าพวกเขาจำเป็นต้องป้อนตัวเลขด้วยข้อความ Enter, Quick! โปรแกรมจะต้องสามารถอ่านอินพุตได้ตลอดเวลาและหากเป็นอินพุตที่ถูกต้องโปรแกรมจะรีเซ็ตตัวจับเวลา หากใส่ไม่ถูกต้องจะไม่มีอะไรเกิดขึ้น โปรแกรมควรทำงานอย่างไม่มีกำหนด ไทม์ไลน์หลังจากอินพุตที่ถูกต้องล่าสุดดูเหมือนว่า จาก 0-99 วินาที: การส่งออกไม่มี ที่ 100 วินาทีEnter, …

4
ช่วยนักบิน!
คำถาม เราถูกกองทัพหุ่นยนต์จับอยู่ที่สถานีอวกาศ นักบินยานอวกาศของเราอยู่ในคุกซึ่งอยู่ในระดับ 1 มีวิธีเดียวเท่านั้นที่จะหลบหนีและมันช่วยนักบินอวกาศเรือของคุณ มันหมายถึงการย้ายจากระดับ N เป็นระดับ 1 อย่างไรก็ตามเนื่องจากมีความเสี่ยงมากคุณต้องเข้าคุกในขั้นตอนที่น้อยที่สุดเท่าที่จะทำได้ เงื่อนไข มี 4 วิธีในการเคลื่อนย้าย: ย้ายจากระดับ N ถึงระดับ N - 1 e.g. from 12 to 11 ย้ายจากระดับ N เป็นระดับ N + 1 e.g. from 12 to 13 ใช้ teleport จากระดับ 2k ถึงระดับ k e.g. from 12 to 6 ใช้ teleport จากระดับ …
12 code-golf 

3
สร้างฟังก์ชั่นแบบโมโนโทนิก
ภาพรวม ในความท้าทายนี้งานของคุณคือการสร้างฟังก์ชั่นทางคณิตศาสตร์แบบ monotonicระหว่างสองชุดแบบสุ่ม อินพุต ปัจจัยการผลิตของคุณเป็นจำนวนเต็มบวกและsn หลังจากที่ได้รับปัจจัยการผลิตเหล่านี้โปรแกรมของคุณจะสร้างแบบสุ่มฟังก์ชั่นทางคณิตศาสตร์fจากชุดที่ไป กล่าวอีกนัยหนึ่งคือ "กฎ" ที่ใช้ในการ-tuple ของจำนวนเต็มระหว่างและและส่งกลับจำนวนเต็มหนึ่งเช่น นอกจากนี้ควรเป็นแบบโมโนโทนิกในแง่ต่อไปนี้ ถ้าและเป็นสอง-tuples ดังกล่าวว่าถือสำหรับทุกประสานงานแล้ว{0,1,...,s-1}n{0,1,...,s-1}fn0s-1fABnA[i] ≥ B[i]if(A) ≥ f(B) การกระจายที่แน่นอนของฟังก์ชั่นโมโนเทอร์fนั้นไม่สำคัญตราบใดที่แต่ละฟังก์ชั่นดังกล่าวมีความเป็นไปได้ในเชิงบวกที่จะถูกสร้างขึ้น (สมมติว่า RNG สมบูรณ์แบบ) เอาท์พุต fส่งออกของคุณจะต้องนับของปัจจัยการผลิตและผลผลิต มันจะต้องมีทุกn-tuples ของจำนวนเต็มระหว่าง0และในคำสั่งบางแต่ละคนถูกตามด้วยการแสดงผลที่สอดคล้องกันของs-1 fรูปแบบผลลัพธ์ที่แน่นอนมีความยืดหยุ่น (ภายในเหตุผล) ตัวอย่าง อินพุตs = 3และn = 2อาจสร้างเอาต์พุต (0, 0) 0 (0, 1) 1 (0, 2) 2 (1, 0) 0 (1, 1) 1 (1, 2) …

2
วาดตารางผลลัพธ์ SQL
ฉันแน่ใจว่าพวกเราส่วนใหญ่เห็นผลลัพธ์ของ SQL ในเทอร์มินัลซึ่งจัดรูปแบบเป็นแถวและคอลัมน์อย่างเรียบร้อย หากคุณยังไม่ได้นี่คือตัวอย่าง: +----------+-----------+----------------+ | column 1 | column 2 | column 3 | +----------+-----------+----------------+ | data | more data | even more data | | etc | just goes | on and on | +----------+-----------+----------------+ เป้าหมายของคุณสำหรับความท้าทายนี้คือให้คอลัมน์และข้อมูลแถวสำหรับตารางวาดรูปแบบนี้ ควรมีเส้นแนวนอนที่ด้านบนและด้านล่างของตารางและอีกเส้นหนึ่งอยู่ใต้แถวส่วนหัว ควรมีเส้นแนวตั้งระหว่างทุกคอลัมน์และอีกหนึ่งรายการอยู่ทั้งสองด้านของตาราง คุณควรใช้ท่อสำหรับเส้นแนวตั้ง, เครื่องหมายขีดคั่นสำหรับเส้นแนวนอนและจุดยึดสำหรับจุดตัด ข้อมูลจำเพาะ: ข้อมูลสามารถป้อนผ่าน stdin หรือเป็นอาร์กิวเมนต์ของฟังก์ชัน แต่ต้องอยู่ในรูปแบบของสตริง ข้อมูลควรถูกแยกโดยตัวคั่นสตริง ; ข้อมูลจะประกอบด้วยอักขระ …
12 code-golf 

3
ภาพวาดถนนข้างหน้า
เมื่อกำหนดรูปแบบของพารามิเตอร์สองช่องทางและความยาวถนนให้พิมพ์ ASCII ของเครื่องหมายเลนสำหรับ Roads and Traffic Service เพื่อทาสีถนน ตัวอย่างอินพุต / เอาต์พุต อินพุต: BTHMLRPHU , 21 ฉันไม่สนหรอกว่าคุณจะรับพารามิเตอร์สองตัวหรือต่อตัวเลขเข้าด้วยกันที่ส่วนท้ายของสตริงมันไม่คลุมเครือ อินพุตอาจถูกนำมาจาก STDIN ในฐานะที่เป็นอาร์กิวเมนต์ฟังก์ชันตัวแปรสภาพแวดล้อมสิ่งที่สมเหตุสมผลในภาษาของคุณ เอาท์พุท: ! | x ## | | x x ! ! B | /\ x HOV3 ## <- | -> | ^^ x HOV3 x ! ! B | \/ x …

14
ลำดับหมายเลขคอมโพสิต
ลำดับหมายเลขคอมโพสิต แรงบันดาลใจจากคำถามนี้ รับจำนวนเต็มบวกnรหัสของคุณจะต้องส่งออกจำนวนnประกอบแรก อินพุต / เอาต์พุต คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น อินพุตคือ STDIN หรืออาร์กิวเมนต์ของฟังก์ชันและเอาต์พุตคือ STDOUT หรือฟังก์ชันส่งคืนค่า เอาต์พุตสามารถเป็นรายการ, อาร์เรย์, หรือสตริง ตัวอย่าง 0 -> 1 -> 4 2 -> 4, 6 3 -> 4, 6, 8 13 -> 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22 กฎระเบียบ เช่นเดียวกับช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต บิวด์อินที่สร้างหมายเลขเฉพาะหรือคอมโพสิตไม่ได้รับอนุญาต ไม่อนุญาตให้ใช้ตัวบิวด์ที่เกี่ยวข้องกับหมายเลขเฉพาะหรือคอมโพสิต

1
Golf Wars Episode I: The Phantom Lightsabers
ธีมพื้นหลัง บทนำ โอบีวันเคโนบี Qui-Gon Jinn และ Darth Maul กำลังจะสู้กัน! อย่างไรก็ตามพวกเขาทุกคนลืมที่จะนำกระบี่แสงที่เกี่ยวข้อง เขียนโปรแกรมหรือฟังก์ชั่นที่ให้สายอักขระJediเป็นอินพุตสร้างภาพที่คล้ายกับ* : และรับสตริงSithสร้างภาพที่คล้ายกับสิ่งนี้: ข้อกำหนดรูปภาพ มีไฟกระบี่ 3 ดวงใด ๆ (ใบมีดสีขาวรวมถึงขอบกลมที่ส่วนท้าย (2 รอบสำหรับสีแดง) และรวมถึงที่จับ ) มีความยาว 900px (ซึ่งไม่รวมถึงการไล่ระดับสีรอบ ๆ ใบมีด) ขอบกลมที่ปลายใบมีดเป็นครึ่งวงกลม (โดยประมาณ) โดยมีเส้นผ่านศูนย์กลางเท่ากับความกว้างของใบมีด ใบมีด (เช่นส่วนสีขาวของกระบี่แสง) กว้าง 12px แสงสีเขียวและสีน้ำเงินถูกแยกออกจากกันโดย 200 px (จากเส้นกึ่งกลางของใบมีดสีเขียวไปยังเส้นกลางของใบมีดสีน้ำเงิน) ที่จับสำหรับไฟกระบี่ทั้ง 3 อันคือ 180px (1/5 ของความยาวทั้งหมด) ดังนั้นใบมีดเองรวมถึงขอบกลมยาว 720px สำหรับแสงสีฟ้าและสีเขียวและยาว 360px สำหรับใบมีดสองดวงของกระบี่แสงสีแดง …

2
Cryptic Kicker //
Cryptic Kicker วิธีการเข้ารหัสข้อความธรรมดา แต่ไม่ปลอดภัยคือการดัดแปลงตัวอักษรของตัวอักษร กล่าวอีกนัยหนึ่งตัวอักษรแต่ละตัวจะถูกแทนที่ด้วยตัวอักษรอื่นอย่างสม่ำเสมอ เพื่อให้แน่ใจว่าการเข้ารหัสสามารถย้อนกลับได้ไม่มีการเปลี่ยนตัวอักษรสองตัวด้วยตัวอักษรเดียวกัน งานของคุณคือถอดรหัสข้อความที่เข้ารหัสหลายบรรทัดโดยสมมติว่าแต่ละบรรทัดใช้ชุดการแทนที่ที่แตกต่างกันและคำทั้งหมดในข้อความที่ถอดรหัสมาจากพจนานุกรมของคำที่รู้จัก อินพุต ข้อมูลที่ป้อนประกอบด้วยคำตัวพิมพ์เล็กตามลำดับตัวอักษร คำเหล่านี้ประกอบด้วยพจนานุกรมของคำที่อาจปรากฏในข้อความถอดรหัส การติดตามพจนานุกรมจะมีอินพุตหลายบรรทัด แต่ละบรรทัดถูกเข้ารหัสตามที่อธิบายไว้ข้างต้น พจนานุกรมไม่เกิน 1,000 คำ คำไม่เกิน 16 ตัวอักษร บรรทัดที่เข้ารหัสลับมีตัวอักษรตัวพิมพ์เล็กและช่องว่างเท่านั้นและมีความยาวไม่เกิน 80 อักขระ เอาท์พุต ถอดรหัสแต่ละบรรทัดและพิมพ์ไปยังเอาต์พุตมาตรฐาน หากมีหลายวิธีการแก้ปัญหาใด ๆ ที่จะทำ หากไม่มีวิธีแก้ไขให้แทนที่ตัวอักษรทุกตัวด้วยเครื่องหมายดอกจัน ตัวอย่างอินพุต and dick jane puff spot yertle bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn xxxx yyy zzzz www yyyy aaa bbbb …

8
Barcodegolf: สร้าง UPC ของตัวเลข
ทุกร้านในปัจจุบันใช้บาร์โค้ดรหัสผลิตภัณฑ์สากล (UPC) เพื่อทำให้กระบวนการเช็คเอาต์ง่ายขึ้น หากชื่อไม่ได้มีความหมายอะไรกับคุณคุณจะจำได้อย่างแน่นอนว่าชื่อพวกเขาเป็นอย่างไร: รูปแบบ ระบบที่พบมากที่สุดคือ UPC-A ซึ่งใช้ตัวเลข 12 หลักในการแสดงผลิตภัณฑ์แต่ละชนิด แต่ละหลักจะถูกเข้ารหัสเป็นชุดของแถบสีดำและสีขาวเพื่อให้เครื่องสามารถอ่านรหัสความยาวเจ็ดบิต มีรูปแบบมูลค่า 11 บิตทั้งหมดที่ระบุจุดเริ่มต้นกลางและจุดสิ้นสุดของบาร์โค้ด มีความยาวรวมบาร์โค้ด 12 × 7 + 11 = 95 บิต (จากนี้ไปเมื่อใช้ไบนารีเพื่ออ้างถึงสีของแต่ละบิต0จะเป็นสีขาวและ1ดำ) 101จุดเริ่มต้นและจุดสิ้นสุดทั้งมีรูปแบบของ ตัวเลขจะถูกแบ่งออกเป็น 2 กลุ่มจาก 6 กลุ่มและเข้ารหัสตามที่แสดงด้านล่างโดยมีรูปแบบ01010ระหว่างกลุ่มซ้ายและขวา ตารางนี้แสดงรายการรูปแบบสำหรับแต่ละหมายเลข โปรดทราบว่ารูปแบบจะแตกต่างกันไปขึ้นอยู่กับว่าตัวเลขอยู่ทางด้านขวาหรือด้านซ้าย (สิ่งนี้อนุญาตให้สแกนบาร์โค้ดคว่ำลง) อย่างไรก็ตามรูปแบบทางด้านขวานั้นตรงกันข้าม (สลับสีดำเป็นสีขาวและกลับกัน) ของด้านซ้าย หากคุณไม่เห็นภาพด้านบนนี่เป็นข้อมูลเทียบเท่าเลขฐานสองของแต่ละหมายเลข # Left Right 0 0001101 1110010 1 0011001 1100110 2 0010011 1101100 3 …

30
เซ็นคำว่า!
ลายเซ็น Word คืออะไร ลายเซ็นของคำที่มีทั้งหมดของตัวอักษรมันใส่ในการสั่งซื้อ - ลายเซ็นของthis, histและที่มีอยู่ทั้งหมดhitshist ความท้าทาย เขียนโปรแกรมโปรแกรมควรถามอินพุตจากนั้นพิมพ์ลายเซ็นของคำนั้น ดังนั้นการรันโปรแกรมตัวอย่างอาจมีลักษณะเช่นนี้: Give me a string: this The signature signature of 'this' is hist. ไม่มีการโต้ตอบที่จำเป็นตราบใดที่รับอินพุตและพิมพ์ลายเซ็นก็ถือว่าใช้ได้ เกณฑ์การให้คะแนน โปรแกรมที่มีจำนวนไบต์น้อยที่สุดชนะ! ลีดเดอร์บอร์ด นี่เป็นตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวได้ ตัวอย่างเช่น # Ruby, <s>104</s> <s>101</s> 96 bytes แสดงตัวอย่างรหัส var QUESTION_ID=54945;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var …

2
ตัวเก็บประจุคู่
ตัวเก็บประจุมีชื่อเสียงในการผลิตด้วยความทนทานสูง ซึ่งเป็นที่ยอมรับได้ในหลายกรณี แต่บางครั้งจำเป็นต้องใช้ความจุที่มีค่าความคลาดเคลื่อน จำกัด กลยุทธ์ทั่วไปในการรับกำลังการผลิตด้วยมูลค่าที่แน่นอนที่คุณต้องการคือการใช้ตัวเก็บประจุที่วัดอย่างรอบคอบสองชุดพร้อมกันเพื่อให้ความจุเพิ่มขึ้นกับบางสิ่งในช่วงที่คุณต้องการ เป้าหมายในการท้าทายนี้คือกำหนดความจุ (หลายชุด) เพื่อจับคู่ตัวเก็บประจุเพื่อให้ความจุรวมของแต่ละคู่อยู่ในช่วงที่กำหนด คุณต้องค้นหาชุดการจับคู่ที่ดีที่สุดนั่นคือชุดการจับคู่ที่พบมากที่สุดเท่าที่จะเป็นไปได้ ข้อ จำกัด อินพุตประกอบด้วยรูปแบบของตัวเลือก รายการความจุที่ไม่มีการเรียงลำดับซึ่งเป็นตัวแทนของชุดตัวเก็บประจุ (หลาย) ที่คุณมี คู่ของความจุที่แสดงขอบเขตล่างและบนของช่วงเป้าหมาย (รวม) ความจุทั้งหมดในอินพุตเป็นจำนวนเต็มบวกที่น้อยกว่า 2 30หน่วยคือ pF (ไม่ใช่แบบนั้นสำคัญ) นอกเหนือจากรายการความจุในอินพุตชุดตัวเก็บประจุที่คุณยังมีจำนวนของตัวเก็บประจุที่ไม่มีที่สิ้นสุดที่มีค่า 0 pF เอาต์พุตประกอบด้วยรูปแบบของตัวเลือกรายการคู่ของความจุซึ่งผลรวมของแต่ละคู่อยู่ในช่วงเป้าหมายที่ระบุ ไม่ได้ระบุลำดับของคู่หรือลำดับความจุภายในคู่ ความจุในการส่งออกไม่อาจปรากฏบ่อยขึ้นกว่าที่ปรากฏอยู่ในชุดของตัวเก็บประจุที่คุณมี กล่าวอีกนัยหนึ่ง: คู่ที่คุณส่งออกจะต้องไม่ทับซ้อนกัน จะต้องไม่มีเงื่อนไขที่เป็นไปได้สำหรับผลลัพธ์ที่เป็นไปได้ 4 และ 5 ที่มีความจุมากกว่าคู่ที่เอาต์พุตของโปรแกรมของคุณสร้างขึ้น โปรแกรมของคุณจะยุติในเวลา O ( n !) โดยที่nคือความยาวของรายการที่แสดงถึงชุดของตัวเก็บประจุที่คุณมี ช่องโหว่จะไม่ถูกทารุณกรรม ช่วงเป้าหมายจะต้องไม่ว่างเปล่า เกณฑ์การให้คะแนน คะแนนของคุณคือความยาวของการแก้ปัญหาของคุณใน octets หากวิธีการแก้ปัญหาของคุณจัดการเพื่อแก้ปัญหานี้ในเวลาพหุนาม O ( n …

2
Creasing for Loot
บทนำ หลังจากการต่อสู้ที่ยาวนานคุณสามารถเอาชนะสฟิงซ์ได้ในการแข่งขันปริศนา สฟิงซ์สร้างความประทับใจให้กับทักษะของคุณปรารถนาที่จะให้รางวัลแก่คุณด้วยความฉลาดของคุณและเสกให้กลายเป็นแผ่นหนังเวทย์มนตร์ที่แบ่งออกเป็นแปดกล่องแต่ละกล่องมีตัวเลข "สร้างกระดาษหนัง" สฟิงซ์กล่าว "กล่องซ้อนทับกันและกล่องเหล่านั้นจะรวมเข้าด้วยกันด้วยการบวกหรือการคูณเมื่อกล่องใดกล่องหนึ่งเหลืออยู่ค่าของมันจะเป็นรางวัลของคุณในเหรียญทอง" งาน คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นรายการ / อาเรย์ / ตัวเลขแปดตัวใด ๆ และป้อนกลับ / พิมพ์รางวัลสูงสุดที่เป็นไปได้ที่ได้รับผ่านชุดการดำเนินงาน 'รอยพับ' กลศาสตร์ ของรอยพับ 'การดำเนินงานจะดำเนินการในจำนวนของเซลล์บางส่วนและมีทั้ง+หรือ*เป็นผู้ประกอบการ n เซลล์แรกของรายการจะถูกพับและรวมเข้ากับเซลล์ปลายทางโดยใช้โอเปอเรเตอร์ เซลล์ใด ๆ ที่ไม่ได้ใช้ในการดำเนินการผสานจะไม่ได้รับการแก้ไข นี่คือตัวอย่างของการตีโดยใช้ n = 3 เซลล์: ใช้อย่างใดอย่างหนึ่งนอกจากนี้ซึ่งจะส่งผลในนี้: หรือการคูณซึ่งจะส่งผลให้สิ่งนี้: หมายเหตุ: เพื่อความง่ายการไม่อนุญาตให้มีการ creasing ที่มีเซลล์น้อยกว่า 1 เซลล์เช่นเดียวกับ creasing ที่มีจำนวนเซลล์มากกว่าหรือเท่ากับความยาวของรายการ อย่างไรก็ตามรายชื่อสามารถลดจำนวนเซลล์ได้มากกว่าครึ่ง รายการ 8 เซลล์สามารถยับ 5 ส่งผลให้ในรายการใหม่ของความยาว 5: [0,1,2,3,4,5,6,7]ยับ 5 เซลล์โดยใช้ผู้ประกอบการจะให้+[9,9,9,1,0] …

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