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

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

27
เครื่องกำเนิดไฟฟ้า Palindromic Palindrome
สร้างโปรแกรมที่แปลงสตริงอินพุตเป็น palindrome เริ่มต้นด้วยสตริงอินพุต ตัวโปรแกรมเองจะต้องเป็นแบบ palindrome ยกตัวอย่างเช่นการป้อนข้อมูล: พิมพ์neverod neveroddorevenคุณควรจัดการอินพุตแบบหลายคำหลายบรรทัดเช่นกัน

6
Quines เชิงลบร่วมกัน
สิ่งนี้ได้รับแรงบันดาลใจจากปรินท์การลบประมวลกฎหมายและกอล์ฟของคุณ พิจารณาสี่เหลี่ยมผืนผ้าของอักขระที่ตรงตามข้อ จำกัด ต่อไปนี้: ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น ขนาดทั้งใหญ่กว่า 1 แต่ละแถวและแต่ละคอลัมน์มีช่องว่างอย่างน้อยหนึ่งช่อง แต่ละแถวและแต่ละคอลัมน์มีอักขระที่ไม่ใช่ช่องว่างอย่างน้อยหนึ่งตัว ตัวอย่างเช่นต่อไปนี้เป็นสี่เหลี่ยมผืนผ้า 6x4 ที่ถูกต้อง: %n 2e 1 g 3 &* __ 3 เชิงลบสำหรับสี่เหลี่ยมผืนผ้านี้ถูกกำหนดให้เป็นรูปสี่เหลี่ยมผืนผ้าขนาดเท่ากันกับช่องว่างทั้งหมดแทนที่ด้วยอักขระที่ไม่ใช่พื้นที่และทุกอักขระที่ไม่ใช่พื้นที่แทนที่ด้วยช่องว่าง ค่าลบของสี่เหลี่ยมด้านบนอาจเป็น: f ^ 33 > 9 $ ^ }|Q' อักขระ ASCII ที่ไม่สามารถพิมพ์ได้ใด ๆ ที่ไม่ใช่ช่องว่างอาจถูกใช้เพื่อแทนที่ช่องว่าง งาน งานของคุณคือการเขียนโปรแกรมด้วยซอร์สโค้ดรูปสี่เหลี่ยมผืนผ้าซึ่งให้ผลลบที่ถูกต้องกับตัวมันเอง ผลลัพธ์เชิงลบจะต้องเป็นโปรแกรมที่ถูกต้องในภาษาเดียวกันกับต้นฉบับและจะต้องส่งออกแหล่งที่มาของต้นฉบับ ไม่มีช่องว่างต่อท้ายที่อาจจะเพิ่มหรือลบยกเว้นบรรทัดใหม่ต่อท้ายเดียวในตอนท้ายของการส่งออกอย่างใดอย่างหนึ่งซึ่งเป็นตัวเลือก โปรแกรมไม่ได้รับอนุญาตให้อ่านซอร์สโค้ดของทั้งคู่ และไม่อาจถือว่าสภาพแวดล้อม REPL เกณฑ์การให้คะแนน คะแนนของคุณคือผลคูณของรหัสของคุณ (เช่นถ้าซอร์สโค้ดของคุณอยู่ในสี่เหลี่ยม 12 คูณ 25 …

19
สร้างหมายเลขนำโชค
เรื่อง: ลูซี่ถามจอร์จว่าหมายเลขนำโชคของเขาคืออะไร หลังจากใคร่ครวญจอร์จตอบว่าเขามีเลขนำโชคหลายตัว หลังจากเกิดความสับสนnเล็กน้อยลูซี่ถามจอร์จว่าหมายเลขนำโชคแรกของเขาคืออะไร จอร์จจึงขอให้คุณเพื่อนของเขาเขียนโปรแกรมเพื่อทำงานให้เขา ความท้าทาย: คุณจะเขียนโปรแกรม / ฟังก์ชั่นที่จะได้รับจากการโต้แย้งอินพุต / nฟังก์ชั่นมาตรฐานสตริงหรือจำนวนเต็ม โปรแกรม / ฟังก์ชั่นจะส่งกลับ / ส่งออกn Lucky Numbersแรก หมายเลขนำโชคถูกกำหนดผ่านตะแกรงดังนี้ เริ่มต้นด้วยจำนวนเต็มบวก: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ... ตอนนี้ลบทุกหมายเลขที่สอง: 1, 3, …

7
ครอบคลุมภูมิภาคที่มีรูปสี่เหลี่ยมผืนผ้า
อินพุต ข้อมูลที่คุณป้อนในการท้าทายนี้คือรายการคู่จำนวนเต็ม พวกเขาเป็นตัวแทนของมุมหน่วยตะวันตกเฉียงใต้ของหน่วยสี่เหลี่ยมบนเครื่องบินและรายการแสดงถึงสหภาพของพวกเขาเป็นส่วนย่อยของเครื่องบิน ตัวอย่างเช่นรายการ [(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2)] แสดงถึงชุดสีแดงในภาพนี้: เอาท์พุต Yor output เป็นรายการของ quadruples จำนวนเต็มซึ่งเป็นตัวแทนเซ็ตย่อยของเครื่องบิน อย่างชัดเจนมากขึ้นเป็นสี่เท่า(x,y,w,h)reperents สี่เหลี่ยมผืนผ้ากว้างw > 0และความสูงที่มีมุมตะวันตกเฉียงใต้ที่h > 0 (x,y)สี่เหลี่ยมต้องเป็นรูปแบบที่ถูกต้องครอบคลุมของภูมิภาคอินพุตในแง่ที่ว่าแต่ละหน่วยสี่เหลี่ยมเป็นส่วนย่อยของสี่เหลี่ยมบางส่วนแต่ละสี่เหลี่ยมเป็นส่วนย่อยของภูมิภาคและสองสี่เหลี่ยมอาจทับซ้อนกันที่ชายแดนของพวกเขาเท่านั้น ในการห้ามวิธีแก้ปัญหาเล็ก ๆ น้อย ๆ การครอบคลุมจะต้องไม่มีสี่เหลี่ยมสองรูปที่สามารถผสานเป็นสี่เหลี่ยมขนาดใหญ่กว่าได้ ตัวอย่างเช่นรายการ [(0,0,2,1),(0,1,3,1),(1,2,2,1)] แสดงถึงความคุ้มครองทางกฎหมาย ของภูมิภาคด้านบนในขณะที่ครอบคลุมโดย [(0,0,2,2),(2,1,1,1),(1,2,1,1),(2,2,1,1)] เป็นสิ่งผิดกฎหมายเนื่องจากสี่เหลี่ยม 1 ต่อ 1 ที่อยู่ใกล้เคียงสามารถรวมกันได้: กฎระเบียบ คุณสามารถให้โปรแกรมเต็มหรือฟังก์ชั่น การจัดรูปแบบที่แม่นยำของอินพุตและเอาต์พุตไม่สำคัญเนื่องจากเหตุผล การนับไบต์ที่สั้นที่สุดชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต ขอแนะนำให้คุณอธิบายอัลกอริทึมของคุณและตัวอย่างผลลัพธ์บางส่วน กรณีทดสอบ ภูมิภาครูปตัวยู: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,0),(2,1),(3,0),(3,1),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5)] สามเหลี่ยมขนาดใหญ่: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(7,0),(7,1),(7,2),(8,0),(8,1),(9,0)] สี่เหลี่ยมจัตุรัสที่มีรู: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(3,0),(3,1),(3,2),(3,4),(3,5),(3,6),(3,7),(3,8),(3,9),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,7),(5,8),(5,9),(6,1),(6,2),(6,3),(6,5),(6,6),(6,7),(6,8),(6,9),(7,0),(7,1),(7,2),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,4),(9,5),(9,6),(9,7),(9,8),(9,9)] ภูมิภาคที่ไม่เชื่อมต่อ: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,6),(1,7),(1,8),(1,9),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(4,0),(4,1),(4,2),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(5,7),(5,8),(5,9),(6,0),(6,1),(6,2),(6,4),(6,5),(6,6),(6,7),(6,8),(6,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,7),(9,8),(9,9),(10,0),(10,1),(10,2),(10,3),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9)] ตรวจสอบ ใช้นี้งูหลาม …

9
กำหนดฐานที่สมการที่กำหนดเป็นจริง
ให้ 3 จำนวนเต็มกำหนดฐานที่เป็นไปได้ต่ำสุดสำหรับจำนวนเต็มสองตัวแรกเพื่อคูณเป็นสาม หากคุณนึกถึงคำตอบของคำถามที่สุดยอดแห่งชีวิตจักรวาลและทุกสิ่ง 6 * 9 == 42 นั้นเป็นจริงในฐาน 13 อินพุตสามารถรวมตัวเลขใด ๆ ที่มีตัวเลขใช้อักขระ 0-9, az และ AZ ซึ่งaเท่ากับ 10 ในฐาน 10 และZ61 ในฐาน 10 อินพุตควรป้อนเข้าในแบบที่คุณชอบ (ยกเว้นการเข้ารหัสแบบแข็ง) และคุณสามารถเขียนได้ทั้งฟังก์ชั่นของแต่ละบุคคลหรือทั้งโปรแกรม ฐานสูงสุดที่ต้องพิจารณาคือฐาน 62 และฐานขั้นต่ำคือฐาน 2 คุณสามารถสันนิษฐานได้ว่าสองค่าแรกมีขนาดเล็กกว่าค่าที่สาม คุณสามารถสรุปได้ว่าฐานขั้นต่ำนั้นมากกว่าตัวเลข / ตัวอักษรสูงสุดจากอินพุต (ตัวอย่างเช่นหากมีการป้อน3 1a 55ข้อมูลฐานขั้นต่ำจะเป็นฐานที่ 11 เพราะaเป็นหลักที่สูงที่สุด) หากไม่มีฐานดังกล่าวคืนค่าขยะที่คุณต้องการ นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ กรณีทดสอบ 6 9 42 --> 13 a …

3
เขียนโปรแกรมสแควร์ที่ส่งออกจำนวนครั้งที่ได้รับการ“ unrolled”
พิจารณาบล็อกสี่เหลี่ยมของข้อความโดยมีความกว้างไม่เกิน N ตัวสำหรับจำนวนเต็มคี่ N ที่มากกว่า 1 เป็นตัวอย่างให้ N = 5 และข้อความเป็น: MLKJI NWVUH OXYTG PQRSF ABCDE โปรดสังเกตว่านี่คือตัวอักษร (นอกเหนือจาก Z) วนรอบทวนเข็มนาฬิกาจากมุมซ้ายล่าง มันเหมือนกับพรมม้วนขึ้นมา "Unrolling" ข้อความทีละหนึ่งรอบจะหมุนตามเข็มนาฬิกาดังนั้นจึงFGHIอยู่ในระดับเดียวกับABCDEผลลัพธ์ใน: PONM QXWL RYVK STUJ ABCDEFGHI การคลายออกนี้สามารถทำได้อีก 7 ครั้งจนกว่าข้อความจะเป็นบรรทัดเดียว: SRQP TYXO UVWN ABCDEFGHIJKLM UTS VYR WXQ ABCDEFGHIJKLMNOP WVU XYT ABCDEFGHIJKLMNOPQRS XW YV ABCDEFGHIJKLMNOPQRSTU YX ABCDEFGHIJKLMNOPQRSTUVW Y ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWXY …

9
Musical Quines บนเปียโน ASCII
มี 88 ปุ่มบนเปียโนมาตรฐานและ 95 ตัวอักษรพิมพ์ได้ (รหัสฐานสิบหก 20 ถึง 7E): !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ('ตัวอักษร' หมายถึงตัวอักษร ASCII ที่พิมพ์ได้จากที่นี่เป็นต้นไป) ในJSFiddle นี้ฉันเอาประโยชน์จากการที่ทำและไวยากรณ์ง่ายที่สร้างเพลงเปียโนโดยใช้AudioSynth (ถ้าใครสามารถนำฉันไปยังชุดโน้ตเปียโนจริงที่เชื่อมโยงได้ฉันจะรู้สึกขอบคุณ) อักขระแต่ละตัวในสตริงอินพุตนอกจากนี้() 01+-สอดคล้องกับหนึ่งคีย์เปียโน: CHARACTER: ! " # $ % & ' * , . / 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D …

13
KOTH: สู้เมือง
ผลสุดท้ายอยู่ที่นี่แล้ว! บทนำ เกมจะเกิดเป็นแรงบันดาลใจอย่างมากจากเกมมนูของเมือง มันเกิดขึ้นในโลกแห่งดาบและเวทมนตร์ กษัตริย์ผู้ปกครองทั้งทวีปเพิ่งตายและขุนนางของรัฐหลายเมืองกำลังต่อสู้กันในอาณาเขต คุณเป็นหนึ่งในเหล่าขุนนางและเป้าหมายของคุณคือการพิชิตและครองเมืองทุกเมือง หลัก ผู้คนแบ่งออกเป็น8 คลาส : Warlocks : Fighter (magic) Crusaders : Fighter (melee) Amazons : Fighter (range) Corsairs : Utility (steal, guard, transport) Bishops : Utility (convert, exorcize) Necromancers : Utility (resurrect) Architects : Utility (build) Peons : Resource (income, recruits) เมื่อเกมเริ่มต้นคุณครองเมืองหนึ่ง ในแต่ละเมืองมี100 คน คุณต้องแยกพวกมันออกเป็น …

3
การวาด Epicyclogons
เอพิไซคลอยด์เป็นเส้นโค้งจุดบนวงกลมทำให้เป็นมันม้วนรอบวงกลมอีก cyclogonเป็นรูปร่างจุดบนเป็นรูปเหลี่ยมปกติทำให้เป็นมันม้วนทั่วเครื่องบิน epicyclogonเป็นเส้นโค้งตรวจสอบโดยจุดบนเหลี่ยมปกติหนึ่งขณะที่มันม้วนรอบอีก เขียนโปรแกรมที่ดึง epicyclogon ที่กำหนดr, r1, r2, n1, n2: r = number of clockwise revolutions rolling polygon makes around stationary polygon (any real number as limited by float values) r1 = distance from center of stationary polygon to each of its vertices (positive real number) r2 = distance from …

2
DNA: Deoxyribonucleic ASCII
เมื่อได้รับลำดับของฐาน Adenine, Cytosine, Guanine และ Thymine (เข้ารหัสเป็นACGT) คุณจะต้องสร้างงานศิลปะ ASCII ของ DNA คู่ที่สอดคล้องกัน เส้นใยจะยืดในแนวตั้ง สาระซ้ายมือคือสิ่งที่คุณได้รับเป็นอินพุต เกลียวด้านขวาจะเป็นส่วนประกอบ สำหรับผู้ที่ไม่คุ้นเคยกับดีเอ็นเอAถูกจับคู่กับTและถูกจับคู่กับC Gนอกจากนี้ยังมีโครงสร้างกระดูกสันหลังที่ด้านใดด้านหนึ่งของเกลียวคู่ซึ่งเหมือนกันสำหรับฐานทั้งหมด ดังนั้นถ้าคุณได้รับอินพุตTAGCATโครงสร้างขนาดใหญ่ของศิลปะ ASCII จะเป็น: BTAB BATB BGCB BCGB BATB BTAB ที่Bแสดงถึงกระดูกสันหลัง ทีนี้ตัวอักษรแต่ละตัวเหล่านี้ย่อมาจากโมเลกุลทั้งหมดและคุณต้องสร้างโครงสร้างโมเลกุลขึ้นมาใหม่ ฐาน ใช้เทมเพลตต่อไปนี้1สำหรับแต่ละฐาน (แต่ละอันจะแสดงพร้อมกับฐานประกอบและโมเลกุลแบ็กโบนสองตัว): 1เครดิตให้กับ Peter Taylor สำหรับช่วยเหลือในการจัดวาง ASCII adenine O O \\ / P / \ --O O / | < N …

2
รับรู้ตัวเลขที่เขียนด้วยลายมือ
งานของคุณคือการอ่านภาพที่มีตัวเลขที่เขียนด้วยลายมือรู้จักและพิมพ์ตัวเลข อินพุต:รูปภาพระดับสีเทาขนาด 28 * 28 ที่กำหนดเป็นลำดับตัวเลข 784 ข้อความธรรมดาตั้งแต่ 0 ถึง 255 โดยคั่นด้วยช่องว่าง 0 หมายถึงสีขาวและ 255 หมายถึงสีดำ ผลลัพธ์:ตัวเลขที่รู้จัก การให้คะแนน:ฉันจะทดสอบโปรแกรมของคุณด้วย 1,000 ภาพจากชุดฝึกอบรมฐานข้อมูล MNIST (แปลงเป็นรูปแบบ ASCII) ฉันเลือกภาพแล้ว (สุ่ม) แต่จะไม่เผยแพร่รายการ การทดสอบจะต้องเสร็จสิ้นภายใน 1 ชั่วโมงและจะกำหนดn- จำนวนคำตอบที่ถูกต้อง nต้องมีอย่างน้อย 200 เพื่อให้โปรแกรมของคุณมีคุณสมบัติ ถ้าขนาดของรหัสที่มาของคุณเป็นแล้วคะแนนของคุณจะถูกคำนวณเป็นs s * (1200 - n) / 1000คะแนนต่ำสุดชนะ กฎ: โปรแกรมของคุณจะต้องอ่านภาพจากอินพุตมาตรฐานและเขียนตัวเลขลงในเอาต์พุตมาตรฐาน ไม่มีฟังก์ชั่น OCR ในตัว ไม่มีห้องสมุดบุคคลที่สาม ไม่มีทรัพยากรภายนอก (ไฟล์โปรแกรมเว็บไซต์) โปรแกรมของคุณต้องสามารถรันได้ใน …

1
หมุนรายการสองมิติ 45 องศา
งาน เป้าหมายคือการเขียนโปรแกรมที่หมุนรายการสองมิติ 45 องศาโดยจะต้องสามารถทำได้สูงสุด 7 * 45 (ในครั้งเดียว) ก่อนที่จะส่งคืนรายการ รายการไม่จำเป็นต้องเป็นรูปสี่เหลี่ยมจัตุรัสหรือสี่เหลี่ยม คุณต้องรวมเอาท์พุทสำหรับตัวอย่างในคำตอบของคุณ นอกจากนี้ยังต้องใช้กับกรณีที่ไม่ได้อยู่ในตัวอย่าง ... วงกลมสามเหลี่ยม ฯลฯ คุณไม่สามารถใช้ฟังก์ชั่นที่มีอยู่แล้วเพื่อทำสิ่งทั้งหมด รายการทั้งหมดจะมีแกนสมมาตรอย่างน้อยหนึ่งแกน (N, S, E, W) รายการย่อยทั้งหมดจะถูกจัดเป็นแบบกึ่งกลาง รายการที่ไม่สม่ำเสมอจะเลื่อนไปทางซ้ายเพื่อจัดแนวอย่างถูกต้อง ดูตัวอย่างที่ 4 สำหรับช่องว่างที่อยู่ตรงกลางของรายการย่อย INPUT โปรแกรมของคุณจะใช้ตัวแปรชื่อlที่มีรายการและตัวแปรที่มีชื่อnระบุจำนวนรายการที่จะถูกหมุน (n * 45) ( nจะน้อยกว่า 7 เสมอและอาจเป็น 0) มันจะต้องยอมรับlที่มีรายการย่อยของชนิดข้อมูลใด ๆ ที่พิมพ์ได้ (ทศนิยม, รายการ, int, String [] .. ฯลฯ ) แต่รายการย่อยจะมีประเภทข้อมูลเพียงครั้งเดียว คุณไม่จำเป็นต้องยอมรับอินพุตคอนโซลหรือใช้ stdin …
22 code-golf 

14
ค่าคงที่ของ Khinchin ให้เป็นทศนิยมมากที่สุดเท่าที่เป็นไปได้ใน 64 ไบต์หรือน้อยกว่า
คง Khinchin ของเป็นค่าคงที่ทางคณิตศาสตร์ที่อยากรู้อยากเห็นว่าตามวุลแฟรม MathWoldเป็น"ฉาวโฉ่ยากในการคำนวณเพื่อความแม่นยำสูง" นี่คือตัวเลข 100 หลัก: 2,685452001065306445309714835481795693820382293994462953051152345557218859537152002801141174931847697 ... เขียนโปรแกรมในขนาด64ไบต์หรือน้อยกว่าที่ส่งออกค่าคงที่ของ Khinchin ไปยังจำนวนทศนิยมที่ถูกต้องสูงสุด คุณไม่สามารถใช้ค่าคงที่ของไลบรารีหรือฟังก์ชันใด ๆ ที่เกี่ยวข้องโดยตรงกับค่าคงที่ของ Khinchin (เช่น Math.Khinchin (ความแม่นยำ) ไม่ได้รับอนุญาต) คุณอาจใช้ห้องสมุดคณิตศาสตร์เพื่อคำนวณลอการิทึมการสรุป ฯลฯ คุณอาจ hardcode ทั้งหมดหรือบางส่วนของคำตอบของคุณ โปรแกรมของคุณจะต้องสร้างเอาต์พุตที่แน่นอนและทำงานในเวลาน้อยกว่าหนึ่งชั่วโมงบนคอมพิวเตอร์ที่ทันสมัยพอสมควร (เช่นที่อยู่ในรายการที่นี่ ) คุณต้องส่งออกไปยัง stdout ไม่มีอินพุต คุณสามารถใช้อักขระใดก็ได้ที่คุณต้องการตราบเท่าที่http://mothereff.in/byte-counterลงทะเบียน 64 ไบต์หรือน้อยกว่า เกณฑ์การให้คะแนน คะแนนของคุณคือจำนวนตัวเลขที่ต่อเนื่องในค่าคงที่ของ Khinchin ที่โปรแกรมของคุณส่งออกอย่างถูกต้องเริ่มต้นด้วย 2.68 ... คุณสามารถส่งออกตัวเลขที่ไม่ถูกต้อง แต่เฉพาะตัวเลขที่ถูกต้องสุดท้ายเท่านั้นที่จะถูกนับเข้ากับคะแนนของคุณ ตัวอย่างเช่นผลลัพธ์ของ 2.68545200 2 065306445309714835481795693869382038229399446295305115234555721 จะให้คะแนน 9 คะแนน หนึ่งตัวสำหรับแต่ละหลัก2 …

4
ใครอยากเป็น Kolmogorov ผู้ชนะที่ซับซ้อน
ภารกิจของคุณในวันนี้คือการประดิษฐ์เครื่องอัดข้อความ งาน คุณจะเขียนสองฟังก์ชั่น: ตัวแบ่งบรรจุเป็นฟังก์ชันที่ยอมรับสตริงของอักขระ ASCII (U + 0000 ถึง U + 007F) และส่งออกสตริง Unicode (U + 0000 ถึง U + 10FFFF) ซึ่งมีอักขระน้อยที่สุดเท่าที่จะเป็นไปได้ โปรแกรมเปิดไฟล์เป็นฟังก์ชั่นที่ยอมรับสตริงเข้ารหัส Unicode และผลตรงสตริง ASCII เดิม อินพุต อินพุตที่ได้รับอนุญาตเท่านั้นคือสตริง ASCII (สำหรับผู้หีบห่อ) และสตริง Unicode ที่บรรจุ (สำหรับผู้แยกบรรจุ) ไม่มีการป้อนข้อมูลของผู้ใช้ไม่มีการเชื่อมต่ออินเทอร์เน็ตไม่ใช้ระบบไฟล์ ฟังก์ชั่นของคุณสามารถเข้าถึงรายการคำศัพท์ภาษาอังกฤษนี้ คุณสามารถใช้รายการนี้เป็นไฟล์ txt ท้องถิ่นหรือคัดลอกเนื้อหาในรหัสต้นฉบับของคุณเป็นสตริงหรืออาร์เรย์ของสตริง คุณไม่สามารถถอดรหัสโค้ดด้านล่างในฟังก์ชั่นของคุณได้ เอาท์พุต เอาต์พุตที่ได้รับอนุญาตเท่านั้นสำหรับทั้งสองฟังก์ชันคือสตริง เอาต์พุตของ unpacker จะต้องมีตัวอักษรเหมือนกับอินพุตของผู้แบ่งบรรจุ อินพุตและเอาต์พุตของคุณสามารถใช้การเข้ารหัสอักขระที่สนับสนุน Unicode ทั้งหมด (UTF-8/16/32, …

14
ส่วนที่ไม่ได้ปัดเศษ
เมื่อคุณแปลงเศษส่วนเป็นตัวเลขทศนิยมและคุณต้องการเก็บตัวเลขนั้นคุณต้องปัดเศษเพราะคุณต้องการใช้หน่วยความจำจำนวนหนึ่งเท่านั้น สมมติว่าคุณสามารถเก็บได้ 5 หลักเท่านั้นจากนั้น 5/3 จะกลายเป็น 1.6667 หากคุณสามารถเก็บได้เพียง 2 หลักเท่านั้นมันจะเป็น 1.7 (ตอนนี้สมมติว่ามันอยู่ระหว่าง 0 ถึง 9.99 ... ) หากคุณพยายามย้อนกลับกระบวนการนั้นด้วย 1.7 และคุณต้องการได้รับเศษส่วนกลับมาซึ่งอาจเป็นเรื่องยากเนื่องจากคุณรู้ว่า 1.7 เป็นเพียงตัวเลขที่ปัดเศษ แน่นอนคุณสามารถลอง 17/10 ได้ ดังนั้นเป้าหมายคือการหาเศษ a / b ด้วยตัวส่วนที่น้อยที่สุด b ซึ่งส่งผลให้ตัวเลขทศนิยมที่ปัดเศษเมื่อปัดเศษอย่างถูกต้อง รายละเอียด อินพุตประกอบด้วยสตริงที่มีตัวเลข 1 ถึง 5 หลักที่อยู่ระหว่าง 0 (รวมถึง) และ 10 (ไม่รวม) ด้วย '.' หลังจากตัวเลขตัวแรก สมมุติว่าnหมายถึงจำนวนหลัก ผลลัพธ์จะต้องเป็นรายการ / อาร์เรย์ของจำนวนเต็มสองจำนวน[numerator, …

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