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

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

23
เดรัจฉานบังคับสวิตช์บอร์ด
เมื่อวันก่อนทีมของเราไปที่ห้องหลบหนี หนึ่งในปริศนาที่เกี่ยวข้องกับสวิทช์ทางกลหกตัวที่คุณต้องหาชุดที่ถูกต้องของการเปิดและปิดเพื่อปลดล็อคกล่องค่อนข้างเช่นนี้: -v-v-v- -v-v-v- ในฐานะนักพัฒนาเราจึงตัดสินใจว่าจะมีประสิทธิภาพมากขึ้นในการลองชุดค่าผสม 2 ^ 6 = 64 หนึ่งชุดมากกว่าที่จะไขปริศนาได้ ดังนั้นเราจึงมอบหมายให้คนจนบางคนทำการนับเลขฐานสอง: -v-v-v- -v-v-v- -v-v-v- -v-v-^- -v-v-v- -v-^-v- -v-v-v- -v-^-^- และอื่น ๆ ความท้าทาย เขียนโปรแกรมที่ให้สวิตช์ทั้งหมดอยู่ในตำแหน่งปิดเป็นสตริงที่จัดรูปแบบตามด้านบนจะสร้างชุดค่าผสมทั้งหมดของการเปิดและปิดในลำดับใด ๆ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น ดังนั้นโปรแกรมของคุณสามารถรับอินพุตผ่าน stdin ไฟล์หรือเป็นอาร์กิวเมนต์สตริงเดี่ยวและส่งคืนหรือพิมพ์เอาต์พุต หากส่งคืนผลลัพธ์อาจอยู่ในรายการ / array / etc มากกว่าสตริงเดียว หากเอาต์พุตเป็นสตริงเดี่ยวบอร์ดควรคั่นด้วยบรรทัดใหม่ (อนุญาตให้ขึ้นบรรทัดใหม่ได้) สตริงอินพุตจะตรงกับ regex r'((-v)+-)(\n(-v)+-)*'และเป็นตัวแทนหนึ่งบอร์ดที่ปิดสวิตช์ทั้งหมด ซึ่งหมายความว่าไม่มีกรณีใดเป็นศูนย์และสวิตช์จะจัดชิดซ้าย แต่ละแถวอาจไม่มีสวิตช์จำนวนเท่ากัน บอร์ดเอาต์พุตแต่ละอันควรมีรูปแบบเดียวกันกับอินพุตยกเว้นว่าวีอาจถูกแทนที่ด้วย ^ ตามที่ต้องการ บอร์ดเอาต์พุตสามารถคั่นด้วยจำนวนบรรทัดใหม่ใด ๆ เนื่องจากรันไทม์นั้นเป็นไปตามธรรมชาติ O (2 …

14
เทปวงกลมน่าตื่นเต้นไหม?
อนุพันธ์ Brainfuck มานิยามภาษาโปรแกรมง่ายๆเหมือนBrainfuckกัน มันมีเทปสองทิศทางของเซลล์และแต่ละเซลล์เก็บหนึ่งบิต บิตทั้งหมดเป็น 0 เริ่มแรกมีหัวที่เคลื่อนที่อยู่บนเทปเริ่มต้นที่ตำแหน่ง 0 โปรแกรมคือสตริงที่อยู่เหนืออักขระ<>01!เรียกใช้จากซ้ายไปขวาด้วยซีแมนทิกส์ต่อไปนี้: < ย้ายหัวหนึ่งก้าวไปทางซ้าย > ย้ายหัวหนึ่งก้าวไปทางขวา 0 ใส่ 0 ในเซลล์ปัจจุบัน 1 ใส่ 1 ในเซลล์ปัจจุบัน ! พลิกเซลล์ปัจจุบัน ไม่มีลูปดังนั้นโปรแกรมของอักขระnจะยุติหลังจากnขั้นตอนทั้งหมด โปรแกรมน่าเบื่อถ้าเซลล์ทั้งหมดมี 0 เมื่อสิ้นสุดการดำเนินการและน่าตื่นเต้นถ้ามีอย่างน้อยหนึ่ง 1 โปรดทราบว่าขนาดของเทปไม่ได้ระบุไว้ดังนั้นขึ้นอยู่กับการนำไปใช้อาจเป็นอนันต์แบบสองทางหรือ กลม ตัวอย่างโปรแกรม 1>>>!<<<<0>!>>>!พิจารณาโปรแกรม บนเทปที่ไม่มีที่สิ้นสุดการดำเนินการจะเป็นดังนี้: v 00000000000000 Put 1 v 00000100000000 Move by >>> v 00000100000000 Flip v 00000100100000 Move by <<<< …

16
วิธีการกำหนดค่าช่วงเวลาต่าง ๆ
หนึ่งในคำจำกัดความที่ฉันชื่นชอบของตัวเลขที่สำคัญไปดังนี้: 2 เป็นนายกที่เล็กที่สุด ตัวเลขที่มีขนาดใหญ่กว่า 2 นั้นเป็นจำนวนเฉพาะถ้าพวกเขาไม่สามารถหารด้วยจำนวนที่น้อยกว่าได้ อย่างไรก็ตามคำจำกัดความนี้ดูเผินๆทำไม 2 ทำไมไม่ใช้หมายเลขอื่นล่ะ? ลองมาดูตัวเลขอื่น ๆ หน่อยสิจะนิยาม n-prime แบบนั้น n เป็น n-prime ที่เล็กที่สุด ตัวเลขที่มีขนาดใหญ่กว่า n คือ n-prime หากพวกเขาไม่สามารถหารด้วย n-prime ที่เล็กกว่า งาน งานนี่คือการเขียนโปรแกรมที่จะใช้เวลาสองปัจจัยการผลิตเป็นจำนวนเต็มบวกnและเป็นจำนวนเต็มบวก จากนั้นจะตัดสินใจว่าaคือn -prime โปรแกรมของคุณควรแสดงค่าที่แตกต่างกันสองค่าสำหรับ "ใช่มันคือ n-prime" และอีกค่าสำหรับ "ไม่ใช่มันไม่ใช่ n-prime" นี่เป็นคำถามเกี่ยวกับการเขียนโค้ดดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยไบต์น้อยจะดีขึ้น การทดสอบ นี่คือรายการของ 31 งวดแรกสำหรับ n = 2 ถึง n = 12 (1 คือหมายเลข 1 …

9
ฉันต้องการกระดาษแข็งกี่หลัก?
ฉันต้องเตรียมตัวเลขที่ทำจากกระดาษแข็งเพื่อแสดงตัวเลข ( ตัวอย่าง ) ผมไม่ทราบว่าก่อนซึ่งจำนวนที่ฉันควรแสดง - nสิ่งเดียวที่ฉันรู้ก็คือว่ามันไม่เกิน ฉันควรเตรียมกระดาษแข็งกี่หลัก ตัวอย่าง: n = 50 ในการแสดงตัวเลขใด ๆ ในช่วง 0 ... 50 ฉันต้องการตัวเลขต่อไปนี้: ศูนย์สำหรับการแสดงหมายเลข 0 หรือหมายเลขรอบอื่น ๆ สำเนาสองชุดของตัวเลข 1, 2, 3 และ 4 เพื่อแสดงตัวเลขที่เกี่ยวข้อง สำเนาหนึ่งชุดของตัวเลข 5, 6, 7 และ 8 สำหรับกรณีที่ปรากฏเป็นเลขนัยสำคัญน้อยที่สุดในจำนวนนั้น ไม่จำเป็นต้องใช้เลข 9 เพราะฉันสามารถใช้เลข 6 กลับด้านแทนได้ รวม: 13 หลัก กรณีทดสอบ (แต่ละบรรทัดเป็นกรณีทดสอบในรูปแบบ "อินพุต; เอาท์พุท") 0 …
32 code-golf  number 

6
การค้นหางูในเมทริกซ์
ท้าทาย รับไบนารีเมทริกซ์และสตริงไบนารีพิจารณาว่าสตริงไบนารีนั้นสามารถพบได้เริ่มต้นที่จุดใด ๆ ในเมทริกซ์และเคลื่อนที่ไปในทิศทางใดก็ได้ ณ จุดใด ๆ ถัดมาเพื่อสร้างสตริงไบนารี นั่นคือสตริงสามารถถูกพับเก็บได้ แต่ภายในเมทริกซ์หรือไม่? สตริงสามารถพับที่ 90 องศาหรือ 180 องศา (การเชื่อมต่อขอบ; ระยะทางแมนฮัตตัน 1) และไม่สามารถทับซ้อนกันได้ทุกจุด ตัวอย่าง ลองมาตัวอย่างต่อไปนี้: Matrix: 010101 111011 011010 011011 Snake: 0111111100101 นี่เป็นกรณีทดสอบจริง เราสามารถเห็นงูถูกพับในตำแหน่งต่อไปนี้: 0-1 0 1 0 1 | 1 1 1-0 1 1 | | | | 0 1 1 0-1-0 | …

30
ตัวเลขในช่องทางของพวกเขา
การป้อนข้อมูล: รายการจำนวนเต็ม เอาท์พุท: ใส่ตัวเลขแต่ละตัว (และเครื่องหมายลบ) ในช่องทางของตัวเองตามลำดับ-0123456789โดยไม่สนใจตัวเลขที่ซ้ำกัน ตัวอย่าง: การป้อนข้อมูล: [1,729,4728510,-3832,748129321,89842,-938744,0,11111] เอาท์พุท: -0123456789 <- Added as clarification only, it's not part of the output 1 2 7 9 012 45 78 - 23 8 1234 789 2 4 89 - 34 789 0 1 กฏท้าทาย: ตัวเลขที่ซ้ำกันในจำนวนนั้นจะถูกละเว้น I / O สามารถอยู่ในรูปแบบที่เหมาะสม อินพุตสามารถเป็นรายการ / …

20
สแควร์ a Number My Way
ผู้คนต่างบอกฉันว่าจตุรัสของตัวเลขนั้นคือจำนวนคูณด้วยตัวมันเอง เห็นได้ชัดว่าเป็นเท็จ วิธีที่ถูกต้องในการจัดตารางจำนวนคือการทำให้มันเป็นสี่เหลี่ยมโดยการซ้อนมันไว้ด้านบนของตัวเองจำนวนครั้งเท่ากับจำนวนตัวเลขที่มีและจากนั้นอ่านตัวเลขทั้งหมดจากตารางผลลัพธ์ทั้งในแนวนอน (จาก จากซ้ายไปขวาเท่านั้น) และแนวตั้ง (จากบนลงล่างเท่านั้น) จากนั้นเพิ่มเข้าด้วยกัน ดังนั้นสำหรับหมายเลข 123 คุณต้องสร้างตารางก่อน: 123 123 123 จากนั้นคุณนำแถวและคอลัมน์ทั้งหมดออกจากสแควร์แล้วเพิ่มเข้าด้วยกัน: 123+123+123+111+222+333 ซึ่งให้ผลกับ1035เรา สำหรับตัวเลขลบคุณสแต็คตามปกติ (โปรดจำไว้ว่าคุณนับจำนวนหลักเท่านั้นดังนั้นเครื่องหมายลบจะไม่รวมอยู่ในความยาว) จากนั้นอ่านตัวเลขแนวนอนตามปกติ (พร้อมเครื่องหมายลบ) แล้วละเว้นสัญญาณลบสำหรับ ตัวเลขแนวตั้ง ดังนั้นสำหรับจำนวนที่-144เราได้รับตาราง: -144 -144 -144 ซึ่งให้เรา-144-144-144+111+444+444ซึ่งเท่ากับ567 สำหรับตัวเลขที่มีเพียงหนึ่งหลักสี่เหลี่ยมจะเท่ากับจำนวนสองเท่าเสมอ (อ่านครั้งเดียวในแนวนอนและแนวตั้งหนึ่งครั้ง) ดังนั้น4ให้เรา 4 ซึ่งจะช่วยให้เราซึ่งเท่ากับ 4+48 สำหรับตัวเลขที่มีส่วนทศนิยมให้ตั้งสแต็กตามปกติ (โปรดจำไว้ว่าเฉพาะตัวเลขที่นับในจำนวนครั้งที่คุณสแต็กจำนวนเท่านั้นดังนั้นจะไม่นับจำนวนทศนิยม) และละเว้นสัญลักษณ์ทศนิยมเมื่ออ่านตัวเลขแนวตั้ง ตัวอย่างเช่นจำนวน244.2ทำให้เรา 244.2 244.2 244.2 244.2 ซึ่งจะช่วยให้เราซึ่งเท่ากับ244.2+244.2+244.2+244.2+2222+4444+4444+222214308.8 เศษส่วนหรือจำนวนเชิงซ้อนไม่สามารถยกกำลังสอง งานของคุณ: ฉันเบื่อที่จะยกกำลังสองของตัวเลขด้วยมือของฉันดังนั้นฉันตัดสินใจที่จะทำให้กระบวนการเป็นไปโดยอัตโนมัติ เขียนโปรแกรมหรือฟังก์ชั่นที่รับค่าทศนิยมหรือสตริงตามที่คุณต้องการเป็นอินพุตและส่งกลับผลลัพธ์ของการยกกำลังสองในแบบของฉัน ตัวอย่าง: 123 -> …
32 code-golf  number 

13
รหัสใหญ่…สำหรับคุณ!
ในฉากเปิดของDark Knight Risesมีการพูดคุยที่ค่อนข้างงุ่มง่ามระหว่างตัวแทน CIA และ Bane จอมวายร้าย ตัวแทน CIA: “ ถ้าฉันดึง [หน้ากาก] ออกมาคุณจะตายไหม” สารพิษ: “ มันจะเจ็บปวดอย่างยิ่ง…” ตัวแทน CIA: “ คุณเป็นคนที่ใหญ่มาก” สารพิษ: “ …สำหรับคุณ” ไม่แน่ใจว่า Bane ตั้งใจที่จะพูดว่า "เจ็บปวดกับคุณ" หรือ "ผู้ชายตัวใหญ่สำหรับคุณ" มาแก้ไขปัญหานี้กันดีกว่าสำหรับการเล่นกอล์ฟรหัส! ท้าทาย งานของคุณคือเขียนโปรแกรมที่เรียงลำดับบทสนทนาข้างต้นขึ้นอยู่กับจำนวนเต็มที่ระบุเป็นอินพุต คำพูดของตัวแทน CIA คือ: If I pull that off will you die? You're a big guy. คำพูดของ Bane คือ: …
32 code-golf 

30
ตัวเลข n แรกโดยไม่มีเลขฐานสองเท่ากับกัน
ลำดับประกอบด้วยการแทนทศนิยมของตัวเลขฐานสองของรูปแบบ: 10101...ซึ่งคำ n-th มี n บิต ลำดับนั้นอาจอธิบายได้ง่ายที่สุดโดยเพียงแสดงความสัมพันธ์ระหว่างเลขฐานสองและเลขฐานสิบของตัวเลข: 0 -> 0 1 -> 1 10 -> 2 101 -> 5 1010 -> 10 10101 -> 21 101010 -> 42 ท้าทาย: ใช้จำนวนเต็มอินพุทnแล้วคืนค่าตัวเลข n ตัวแรกตามลำดับ คุณอาจเลือกที่จะเรียงลำดับดัชนี 0 หรือ 1 ดัชนี กรณีทดสอบ: n = 1 <- 1-indexed 0 n = 18 0, 1, 2, …

1
สร้างรหัส Pyramid Scheme
พีระมิดเป็นภาษาที่ถูกพัฒนาโดย@ ConorO'Brien ใน Pyramid Scheme โค้ดที่คุณเขียนมีลักษณะดังนี้: ^ ^ / \ /3\ / \ --- / + \ ^-------^ /9\ /3\ /123\ --- ----- ตอนนี้รหัสนั้นมีคุณสมบัติที่ชัดเจนสองประการ: มันยากที่จะแยกวิเคราะห์และยากที่จะเขียน Conor ได้แก้ไขปัญหาแรกแล้วอย่างไรก็ตามงานของคุณคือการแก้ไขปัญหาที่สอง โค้ดด้านบนนั้นประมวลผลโดยตัวแปล PyramidScheme ไปเป็นอาร์เรย์สตริงที่ซ้อนกันเช่นนี้ [["+", ["9123", "3"]], "3"] งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งกำหนดสตริงที่ซ้อนกันเอาต์พุตหรือส่งคืนรหัส PyramidScheme ที่สร้างขึ้นใหม่ คุณอาจคิดว่าอาร์เรย์อินพุตจะใช้ได้เสมอ ปิรามิดเป็นสามเหลี่ยมหน้าจั่ว ด้านบนเป็น^ที่ลาดชันด้านแนวทแยงมุมไปด้วย/และและด้านล่างเป็น\ -มุมด้านล่างทั้งสองว่างเปล่าหรือมีจุดเริ่มต้นของปิรามิดอื่นซึ่งเป็นข้อโต้แย้ง ตรงกลางเต็มไปด้วยชื่อของปิรามิดโดยไม่สนใจการแบ่งบรรทัด นี่คือวิธีที่ parser แปลงรหัสเป็นรูปแบบที่ใช้งานได้ ก่อนอื่นมันจะตรวจหาปิรามิดระดับบนสุด หากไม่มีข้อโต้แย้งมันจะแสดงถึงมันด้วยสตริงเดียวและย้ายไป มิฉะนั้นมันหมายถึงเป็นอาร์เรย์หรือ["name",[arg1,arg2]] ["name",[arg1]]อาร์กิวเมนต์คือปิรามิดที่ด้านล่างซ้ายและขวาล่างของปิรามิดซึ่งอาจเป็นสตริงหรือมากกว่านั้นที่อธิบายไว้ข้างต้น คุณอาจสังเกตเห็นว่าสิ่งนี้ค่อนข้างคล้ายกับ …

17
แม็พอักขระ ASCII ที่อินพุต
ให้แน่ใจว่าได้เห็นความท้าทายอื่น ๆ , การย้อนกลับแผนที่อักขระ ASCII ! ชุดอักขระ ASCII (รหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล) เป็นมาตรฐานการเข้ารหัสอักขระที่ใช้กันอย่างแพร่หลายที่สุด รหัส ASCII แสดงถึงข้อความในคอมพิวเตอร์อุปกรณ์โทรคมนาคมและอุปกรณ์อื่น ๆ ท้าทาย ความท้าทายของคุณคือการพิมพ์แผนที่ของชุดอักขระ ASCII เมื่อผู้ใช้ป้อนข้อมูล GIF: หลังจากผู้ใช้ป้อนอักขระ ASCII ทุกตัวเอาต์พุตควรมีลักษณะดังนี้: การทำแผนที่ ตัวละครแต่ละตัวมีตำแหน่งที่กำหนดไว้ในตารางตรรกะ 16x6 เริ่มต้นด้วยอักขระช่องว่างในตำแหน่งด้านซ้ายด้านบนและการตัดที่ 0 หลักจะปรากฏขึ้นด้านล่าง เมื่อได้รับอินพุต ASCII ที่พิมพ์ได้ให้พิมพ์อักขระ ASCII ที่ตำแหน่งหน้าจอที่กำหนดโดยไม่ต้องลบอักขระใด ๆ บนหน้าจอในปัจจุบัน กฎระเบียบ โปรแกรมของคุณเพียงต้องการที่จะแผนที่ออกอักขระ ASCII พิมพ์ไป0x200x7E โปรแกรมของคุณจะต้องไม่ยุติและดำเนินการแมปอักขระต่อไปยังหน้าจอจนกว่าอักขระ ASCII ที่พิมพ์ได้ทั้งหมดจะถูกป้อนเข้า จากที่นี่โปรแกรมของคุณสามารถยกเลิกหรือวิ่งเข้าไปใน Neverland โปรแกรมของคุณสามารถแมปตัวละครในแบบที่คุณชอบเช่นสเปรดชีตตารางหน้าต่างคอนโซลหรือหน้าต่างกราฟิก ไม่ว่าคุณจะแสดงแผนที่อย่างไรจะต้องอัปเดตตามเวลาจริง (ทันทีที่ได้รับการป้อนข้อมูลจากผู้ใช้) หากโปรแกรมของคุณไม่อ่านอินพุตอย่างเงียบ ๆ มันจะต้องเลื่อนเคอร์เซอร์ไปให้พ้นทางดังนั้นข้อความจะไม่เข้าทางแผนที่ …

20
Passtimes สุพีเรีย
บางครั้งเมื่อฉันเบื่อจริง ๆ ฉันชอบที่จะหาผลรวมของจำนวนเต็มจำนวนเต็มที่ไม่เป็นลบ ฉันจะหาผลรวมของความยาวอาร์เรย์ที่เป็นพลังของสองเท่านั้น น่าเสียดายที่ฉันมักจะทำผิดพลาด โชคดีที่ฉันติดตามงานของฉันเมื่อฉันไปตามวิธีต่อไปนี้: ฉันเพิ่มคู่ของตัวเลขที่อยู่ติดกันจนกว่าจะเหลือเพียงอันเดียว ตัวอย่างเช่น: 6 + 18 + 9 + 6 + 6 + 3 + 8 + 10 = 24 + 15 + 9 + 18 = 39 + 27 = 66 คุณมีหน้าที่ตรวจสอบว่าฉันทำผิดพลาดที่ไหนสักแห่งหรือไม่ คุณสามารถรับอินพุตที่ส่งผ่านไปยังฟังก์ชันของคุณหรืออ่านจากมาตรฐานในเอาต์พุตสามารถพิมพ์หรือส่งคืนได้ อินพุต: อาร์เรย์ / รายการ / ฯลฯ ของจำนวนเต็มที่ไม่เป็นลบและอาจมีความยาวของอาร์เรย์นั้นด้วยหากภาษาของคุณต้องการ อาร์เรย์นั้นจะเป็นตัวเลขทั้งหมดที่อ่านจากซ้ายไปขวาจากบนลงล่าง ตัวอย่างเช่นอาร์เรย์ด้านบนจะกลายเป็น: [[6, 18, …

2
Office Escape: วางแผนทางออกของคุณ!
มันเป็นการวิ่งครั้งสุดท้าย ... และครึ่งหนึ่งของทีมคุณไม่ดี คุณทำงานช้าแล้วแค่ทำสิ่งสุดท้ายในวันนี้รอคอย ... ทำไมไฟดับไป? ฉันจำไม่ได้ว่าคนที่รักษาความปลอดภัยมารอบ ... โอ้ไม่! ฉันทิ้งกุญแจไว้ที่บ้าน! ในฐานะที่เป็นความน่ากลัวของอ่างล้างมือในสถานการณ์ที่คุณตัดสินใจว่าคุณกำลังจะหลบหนี สรุปภารกิจ หากต้องการเอฟเฟกต์การหลบหนีคุณต้องมีแผน! อย่างไรก็ตามคุณรู้ว่าแผนใด ๆ มีโอกาสล้มเหลวและแผนการที่แตกต่างต้องการความพยายามที่แตกต่างกัน เมื่อคุณหิวกระหายและเป็นวิศวกรคุณตัดสินใจที่จะเขียนโปรแกรมสั้น ๆ เพื่อกำหนดวิธีที่ดีที่สุดในการหลีกหนีความซับซ้อนสร้างสมดุลระหว่างความน่าจะเป็นของความสำเร็จและความพยายามที่จะต้องใช้ คุณสร้างแผนที่อาคาร: ####################### # = # ! = ! <-- window # ! = # (freedom!) #################= # # # = # # # = # # # = # # o …

30
n กำลังต่อไปของ b อยู่ไกลแค่ไหน?
ให้nและbจะ integers 1บวกขนาดใหญ่กว่า ขาออกห่างจากอำนาจต่อไปของnb สำหรับn=5และb=3อำนาจต่อไปของการ3จาก5เป็น9( 3^2 = 9) 9 - 5 = 4เพื่อส่งออกเป็น สำหรับn=8และb=2อำนาจต่อไปของการ2จาก8เป็น16( 2^4 = 16) 16 - 8 = 8เพื่อส่งออกเป็น โปรดทราบว่าnเป็นพลังของ2ในตัวอย่างนี้ Testcases: n b output 212 2 44 563 5 62 491 5 134 424 3 305 469 8 43 343 7 2058 592 7 1809 289 5 …

30
คำนวณชุดที่ยาวที่สุดของ 1 ในค่าเลขฐานสองของจำนวนเต็ม
เป้าหมาย กำหนดจำนวนเต็มแบบไม่ลบสร้างฟังก์ชันที่ส่งคืนตำแหน่งเริ่มต้นของจำนวน 1 ที่ใหญ่ที่สุดติดต่อกันในค่าเลขฐานสองของจำนวนเต็มนั้น เมื่อได้รับการป้อนข้อมูลกลับมา00 หากตัวเลขมีหลายเส้นที่มีความยาวเท่ากันคุณจะต้องกลับตำแหน่งของริ้วสุดท้าย อินพุต จำนวนเต็มมากกว่าหรือเท่ากับ 0 เอาท์พุต จำนวนเต็มคำนวณตามที่อธิบายด้านล่าง กฎระเบียบ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม ตัวอย่างและกรณีทดสอบ ตัวอย่างที่ 1 ฟังก์ชันของคุณส่งผ่านจำนวนเต็ม 142 142 เท่ากับ 1,0001110 ในไบนารี แนวที่ยาวที่สุดคือ "111" (แนวของสามเส้น) แนวเริ่มต้นที่ตำแหน่ง 2 ^ 1 ฟังก์ชันของคุณจะคืนค่า 1 ตามผลลัพธ์ ตัวอย่างที่ 2 ฟังก์ชันของคุณผ่านจำนวนเต็ม 48 48 เท่ากับ 110000 ในหน่วยไบนารี่ แนวที่ยาวที่สุดคือ "11" (แนวของสองเส้น) แนวเริ่มต้นที่ตำแหน่ง 2 ^ 4 ฟังก์ชันของคุณจะคืนค่า 4 …

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