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

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

21
สตริงย่อยที่ไม่ซ้ำที่ยาวที่สุด
รับสตริงเป็นอินพุตค้นหาสตริงย่อยต่อเนื่องที่ยาวที่สุดที่ไม่มีอักขระใด ๆ สองครั้งหรือมากกว่า หากมีสตริงย่อยหลายรายการคุณอาจส่งออกอย่างใดอย่างหนึ่ง คุณอาจสมมติว่าอินพุตอยู่ในช่วง ASCII ที่พิมพ์ได้หากคุณต้องการ เกณฑ์การให้คะแนน คำตอบจะถูกจัดอันดับโดยความยาวของสตริงย่อยที่ไม่ซ้ำกันที่ยาวที่สุดของพวกเขาเองแล้วตามด้วยความยาวทั้งหมด คะแนนที่ต่ำกว่าจะดีกว่าสำหรับทั้งสองเกณฑ์ ขึ้นอยู่กับภาษานี้อาจจะรู้สึกเหมือนเป็นความท้าทายของนักกอล์ฟที่มีข้อ จำกัด เกี่ยวกับแหล่งที่มา เรื่องขี้ปะติ๋ว ในบางภาษาที่ทำคะแนนได้1, x (lenguage) หรือ2, x (flak-Brain และ tarpits turing อื่น ๆ ) นั้นค่อนข้างง่าย ฉันสนุกมากที่ได้คะแนน 2 ใน Haskell ดังนั้นฉันขอแนะนำให้คุณค้นหาภาษาที่งานนี้สนุก กรณีทดสอบ "Good morning, Green orb!" -> "ing, Gre" "fffffffffff" -> "f" "oiiiiioiiii" -> "io", "oi" "1234567890" -> "1234567890" …

30
มีการโต้แย้งกี่ครั้ง?
ใช้ภาษาที่คุณเลือกเขียนฟังก์ชันที่รับจำนวนตัวแปรที่มีข้อโต้แย้งและส่งกลับจำนวนอาร์กิวเมนต์ที่ถูกเรียกด้วย ข้อมูลจำเพาะ: ภาษาของคุณจำเป็นต้องรองรับฟังก์ชั่นการโต้แย้งแบบแปรปรวน: สิ่งที่เรียกได้ซึ่งรับจำนวนอาร์กิวเมนต์โดยพลการและส่งคืนค่า พารามิเตอร์จะต้องสามารถส่งผ่านเป็นรายบุคคล ซึ่งหมายความว่าการส่งผ่านอาร์เรย์จะนับสำหรับพารามิเตอร์เดียวเท่านั้น คุณสามารถใช้อาร์เรย์ "อาร์กิวเมนต์ที่ผ่านทั้งหมด" หากภาษาของคุณรองรับ ข้อ จำกัด คือวิธีการเรียกใช้ฟังก์ชัน รหัสที่เรียกฟังก์ชันนี้จะต้องไม่ถูกต้องผ่านการจำนวนของการขัดแย้งในแหล่งที่มาของ หากคอมไพเลอร์แทรกจำนวนของอาร์กิวเมนต์เป็นส่วนหนึ่งของการประชุมที่เรียกว่าได้รับอนุญาต อาร์กิวเมนต์สามารถเป็นประเภทใดก็ได้ที่คุณต้องการ คุณสามารถรองรับได้เพียงประเภทเดียว (เช่นการสนับสนุนเท่านั้นที่intยังคงใช้ได้) ประเภทโดยพลการ (ประเภทของอาร์กิวเมนต์ที่ได้รับอนุญาต) หรือการรวมกันของประเภทอาร์กิวเมนต์ (เช่นอาร์กิวเมนต์แรกคือintส่วนที่เหลือเป็นสตริง) ฟังก์ชันของคุณอาจมีจำนวนอาร์กิวเมนต์สูงสุด (โดยเฉพาะอย่างยิ่งเนื่องจากทรัพยากรมี จำกัด ) แต่ต้องสนับสนุนอาร์กิวเมนต์อย่างน้อย 2รายการ ตัวอย่าง: f() ผลตอบแทน 0 f(1)หรือf("a")ผลตอบแทน1 f([1, 2, 3])ส่งคืน1เนื่องจากส่งผ่านอาร์เรย์ไม่ใช่อาร์กิวเมนต์ 3 ข้อ f(1, 10)หรือf(1, "a")ผลตอบแทน2 เช่นนี้คือ code-golf ทางออกที่ชนะคือทางเลือกที่ใช้จำนวนไบต์น้อยที่สุด

30
ค้นหาจำนวนเต็มบวกที่เล็กที่สุดซึ่งลงท้ายด้วย n หารด้วย n และมีตัวเลขรวมเป็น n
มันอยู่ในชื่อ ... รับข้อมูลเป็นจำนวนเต็มบวกn>=12และ ... ทำในสิ่งที่ชื่อกล่าว ใช่นี้อยู่ใน OEIS A187924 บางกรณีทดสอบ 12 -> 912 13 -> 11713 14 -> 6314 15 -> 915 16 -> 3616 17 -> 15317 18 -> 918 19 -> 17119 20 -> 9920 40 -> 1999840 100-> 99999999999100 นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดเป็นไบต์ชนะ!

30
มีความยุติธรรมที่สุด
บทนำ ในการท้าทายนี้คุณควรแบ่งจำนวนเต็มเป็นสองส่วน เนื่องจากไม่มีใครชอบที่จะได้ชิ้นเค้กเล็ก ๆ เป้าหมายของคุณคือยุติธรรมเท่าที่จะทำได้ ตัวอย่างเช่นถ้าคุณต้องการที่จะแยกจำนวนเต็ม7129เป็นสองส่วนมีวิธีที่เป็นไปได้ 3 วิธี 7,129, 71,29และ712,9ความเป็นไปได้ทั้งหมด แต่71,29เป็นวิธีที่สังขารของการแยกออกเป็นสองชิ้นเพราะมันช่วยลดความแตกต่างระหว่างสอง: 7 129 -> |7-129| = 122 71 29 -> |71-29| = 42 712 9 -> |712-9| = 703 ท้าทาย กำหนดจำนวนเต็มกำหนดวิธีที่ดีที่สุดที่เป็นไปได้ของการแบ่งตามที่อธิบายไว้ข้างต้นและรายงานผลต่าง กฎระเบียบ การแยกจะทำให้รู้สึกถึงความยาวของเลขจำนวนเต็มอย่างน้อยสองค่าอินพุตจะเป็น≥ 10 เสมอ ข้อมูลที่ป้อนสามารถเป็นได้ทั้งจำนวนเต็มรายการตัวเลขหรือสตริง คุณไม่ต้องจัดการกับอินพุตที่ไม่ถูกต้อง Testcases คุณจะต้องรายงานความแตกต่างที่เกิดขึ้นเท่านั้นการแบ่งพาร์ติชันเป็นเพียงภาพประกอบเท่านั้น: 10 -> 1,0 -> 1 11 -> 1,1 -> 0 12 …

30
Flippign Lettesr Aroudn
ในการแชทที่เรามักจะรวดเร็ว typers และไม่ได้จริงๆมองไปที่คำสั่งของตัวอักษรก่อนโพสต์ข้อความ เนื่องจากเราขี้เกียจเราจำเป็นต้องมีโปรแกรมที่แลกเปลี่ยนตัวอักษรสองตัวสุดท้ายในคำของเราโดยอัตโนมัติ แต่เนื่องจากเราไม่ต้องการตอบช้าเกินไปรหัสต้องสั้น งานของคุณถ้าคุณต้องการที่จะยอมรับมันคือการเขียนโปรแกรมที่พลิกตัวอักษรสองตัวสุดท้ายของแต่ละคำในสตริงที่กำหนด (ดังนั้นคำThanskจะเปลี่ยนเป็นThanks) คำเป็นลำดับของสองคนหรือมากกว่าตัวอักษรในตัวอักษรภาษาอังกฤษที่คั่นด้วยเดี่ยวพื้นที่ สตริง / รายการตัวละครที่คุณได้รับจากการป้อนข้อมูลนั้นรับประกันว่าจะมีตัวอักษรและช่องว่างเท่านั้น (ASCII [97 - 122], [65 - 90] และ 32) คุณสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีมาตรฐานใด ๆในภาษาการเขียนโปรแกรมใด ๆในขณะที่รับทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น เอาต์พุตอาจมีหนึ่งช่องว่างต่อท้ายและ / หรือขึ้นบรรทัดใหม่หนึ่งบรรทัด ข้อมูลที่ป้อนจะมีคำศัพท์อยู่เสมอ (และช่องว่างที่เกี่ยวข้อง) และจะประกอบด้วยคำอย่างน้อยหนึ่งคำ นี่คือรหัสกอล์ฟดังนั้นการส่งสั้นที่สุด (คะแนนเป็นไบต์) ในแต่ละภาษาชนะ! กรณีทดสอบ โปรดทราบว่าสตริงนั้นล้อมรอบด้วยเครื่องหมายคำพูดเพื่อให้สามารถอ่านได้ อินพุต -> เอาท์พุท "Thansk" -> "ขอบคุณ" "Youer welcoem" -> "ยินดีต้อนรับคุณ" "นี่คือแอปเปิ้ล" -> "Thsi si na appel" …
33 code-golf  string 

30
ลดจำนวนตามหลักที่ใหญ่ที่สุด
งาน: ระบุตัวเลขจำนวนเต็มในระบบเลขฐานสิบให้ลดลงเป็นทศนิยมหนึ่งหลักดังนี้: แปลงตัวเลขเป็นรายการเลขทศนิยม ค้นหาตัวเลขที่ใหญ่ที่สุด D ลบ D ออกจากรายการ หากมีเหตุการณ์ D มากกว่าหนึ่งรายการให้เลือกรายการแรกจากด้านซ้าย (ที่ตำแหน่งที่สำคัญที่สุด) รายการอื่น ๆ ทั้งหมดควรยังคงเหมือนเดิม แปลงรายการผลลัพธ์เป็นตัวเลขทศนิยมและคูณด้วย D หากตัวเลขมากกว่า 9 (มีทศนิยมมากกว่า 1 หลัก) ให้ทำซ้ำขั้นตอนทั้งหมดแล้วป้อนผลลัพธ์เข้าไป หยุดเมื่อคุณได้รับผลลัพธ์ตัวเลขเดียว แสดงผล ตัวอย่าง: 26364 -> 1. 2 6 3 6 4 2. The largest digit is 6, so D=6 3. There are two occurrences or 6: at …

1
บอลแรงโน้มถ่วง
คุณอยู่ในสถานีอวกาศอวกาศขั้นสูง เพื่อนของคุณที่กำลังฝึกฝนในการศึกษาเรื่องแรงโน้มถ่วงเพิ่งสร้างเกมที่เกี่ยวข้องกับการใช้ microgravity เป็นวิธีในการเคลื่อนลูกบอล เธอส่งคอนโทรลเลอร์ขนาดเล็กให้คุณพร้อมลูกศรสี่ทิศทางที่อยู่บนเขาและเขาวงกตเหมือนโครงสร้างที่มีลูกนั่งอยู่ทางซ้าย เธอเริ่มอธิบายว่าเกมทำงานอย่างไร คุณมี 2 ปุ่มทิศทางซ้ายและขวา<> คุณมีปุ่มแรงโน้มถ่วง 2 ปุ่มขึ้น^และลงv(อย่างน้อยจากเฟรมอ้างอิงของคุณ) คุณจะใช้ปุ่มลูกศรเหล่านี้เพื่อย้ายลูกบอลไปรอบ ๆ บนหน้าจอของคุณ "ตอนนี้มีกฎบางอย่างที่ต้องปฏิบัติตาม" เธอพูดว่า แพลตฟอร์มทั้งหมดจะต้องถูกสำรวจก่อนที่จะถึงถ้วย \ / ลูกศร< > ^ vจะถูกใช้เพื่อระบุการเคลื่อนไหวของลูกบอล แรงโน้มถ่วงคือ^ v(ขึ้นและลง) สิ่งนี้จะทำให้ลูกบอลเคลื่อนที่ไปสู่แพลตฟอร์มถัดไปในทิศทางนั้น (ไม่คำนวณระยะทางสำหรับขึ้นและลง) การสูญเสียลูกไม่ดี! อย่าล้มลงบนขอบและอย่าสลับแรงโน้มถ่วงเร็วเกินไปจนลูกบอลของคุณไม่ถึงแพลตฟอร์ม การเคลื่อนไหวถูกนับเป็นขั้นตอนของ < > ลูกบอลสามารถเข้าสู่ถ้วยได้จากทุกทิศทางตราบใดที่มีการปฏิบัติตามกฎข้อ 1 คุณต้องระบุทิศทางของแรงโน้มถ่วงเพื่อให้ลูกบอลของคุณไม่ลอยไป การเคลื่อนไหวอาจมีการสุ่มตราบเท่าที่กฎข้อ 1 และกฎ 4 เป็นไปตาม สำหรับกรณีที่ไม่สามารถแก้ไขเอาต์พุตเท็จหรือไม่ถูกต้อง ตัวอย่างง่ายๆของลูกบอลแพลตฟอร์มและถ้วย: v o ---\ / v> o ---\ …

8
ไม่มีเพื่อนบ้านที่สำคัญ
รับรายการของจำนวนเต็มบวกเอาท์พุทว่าทุกคู่ที่อยู่ติดกันของมันในหุ้นที่เป็นปัจจัยสำคัญ กล่าวอีกนัยหนึ่งเอาท์พุทความจริงถ้าหากไม่มีสองจำนวนเต็มเพื่อนบ้านในรายการเป็นแบบร่วม ในอีกแง่หนึ่ง: รับรายการจำนวนเต็มบวก[a 1 a 2 … a n ]ออกว่า gcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 && … && gcd (a n − 1 , a n )> 1 รายการจะมีองค์ประกอบอย่างน้อยสององค์ประกอบเสมอ (n ≥ 2) อย่างไรก็ตาม ... ความท้าทายนี้ยังมีการจำกัด แหล่งที่มา : …

30
หัวลูกศรเมทริกซ์ของฉันหรือไม่
คำนิยาม เมทริกซ์หัวลูกศรเป็นเมทริกซ์ที่มีรายการทั้งหมดเท่ากับ0ยกเว้นคนบนเส้นทแยงมุมหลักแถวบนสุดและคอลัมน์ซ้ายสุด กล่าวอีกนัยหนึ่งเมทริกซ์ควรมีลักษณะเช่นนี้: * * * * * * * * 0 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 0 * โดยที่*แต่ละรายการที่ไม่เป็นศูนย์ งาน ให้ตารางเมทริกซ์ของจำนวนเต็มไม่เป็นลบตรวจสอบว่าเป็นลูกศรตามคำนิยามข้างต้น คุณไม่สามารถใช้ขนาดของเมทริกซ์เป็นอินพุตได้เว้นแต่ว่าภาษาของคุณเทียบเท่ากับอาเรย์เป็นสิ่งที่เหมือนกับตัวชี้และความยาว (เช่น C) มันจะเป็นอย่างน้อย 3 x …

11
เข้ารหัสเป็นจำนวนเต็ม
n > 2ได้รับจำนวนเต็มบวก เราแปลงเป็นอาร์เรย์ดังนี้ หากเท่ากับ2ส่งคืนอาร์เรย์ว่าง มิฉะนั้นสร้างอาร์เรย์ของnปัจจัยสำคัญทั้งหมดที่เรียงลำดับจากน้อยไปมากจากนั้นแต่ละองค์ประกอบจะแทนที่ด้วยดัชนีในลำดับตัวเลขจำนวนมากและในที่สุดก็เปลี่ยนแต่ละองค์ประกอบเป็นอาร์เรย์ ตัวอย่างเช่นให้แปลงตัวเลข46เป็นอาร์เรย์ ประการแรกเปลี่ยนให้เป็นอาเรย์ของปัจจัยหลัก: [2, 23] จำนวน23เป็น9วันที่สำคัญดังนั้นแทนที่2กับอาร์เรย์ที่ว่างเปล่าและมี23 [9]ตอนนี้ Array จะกลายเป็น: [[], [9]] ปัจจัยสำคัญของการ9เป็น3และ3ดังนั้น: [[], [3, 3]] ทำเช่นเดียวกันสำหรับทั้งสอง3: [[], [[2], [2]]] และในที่สุดก็: [[], [[[]], [[]]]] ตอนนี้เพื่อเข้ารหัสมันเราเพียงแค่แทนที่วงเล็บเปิดแต่ละอัน1และแต่ละวงเล็บปิดด้วย0แล้วเอาศูนย์สิ้นสุดทั้งหมดแล้วปล่อยหนึ่ง1จากท้าย นี่คือเลขฐานสองของเรา ใช้ตัวอย่างข้างต้น: [ ] [ [ [ ] ] [ [ ] ] ] | | | | | | | …

28
มันเป็นคำที่แข็งแกร่ง?
พวกเขาพูดว่าhateเป็นคำที่หนักแน่น ฉันอยากรู้ว่าทำไมฉันจึงดูคำนี้ดี ฉันสังเกตว่าพยัญชนะทุกตัวมีสระอยู่หลังนั้น นั่นทำให้ฉันดูค่อนข้างแข็งแกร่งดังนั้นฉันจึงตัดสินใจว่านั่นคือสิ่งที่ทำให้คำมีความแข็งแกร่ง ฉันต้องการคำศัพท์ที่แรงกว่านี้ดังนั้นฉันต้องการโปรแกรมสำหรับมัน! การค้นหาคำที่แข็งแกร่ง คำที่แข็งแกร่งคือคำที่ทุก ๆ พยัญชนะ (ตัวอักษรในชุดBCDFGHJKLMNPQRSTVWXZ) ตามด้วยสระ (ตัวอักษรในชุดAEIOUY) แค่นั้นแหละ. ไม่มีอะไรอื่นที่สำคัญ หากคำเริ่มต้นด้วยเสียงสระคุณไม่ต้องกังวลเกี่ยวกับตัวอักษรใด ๆ ก่อนที่จะมีพยัญชนะตัวแรก หากคำนั้นไม่มีพยัญชนะอยู่เลยมันก็เป็นคำที่แข็งแกร่งโดยอัตโนมัติ! ตัวอย่างบางส่วนของคำพูดที่แข็งแกร่งagate, และhate ยังคงเป็นคำที่แข็งแกร่งเพราะแม้ว่ามันจะเริ่มต้นด้วยเสียงสระพยัญชนะทุกตัวยังคงตามด้วยเสียงสระ เป็นคำที่แข็งแกร่งเพราะไม่มีพยัญชนะyouagateyou ไม่มีการจำกัดความยาวของคำศัพท์ที่เข้มงวด ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริงที่ไม่ว่างเปล่าเป็นอินพุตและส่งออกค่าจริงถ้าเป็นคำที่แรงหรือค่าเท็จหากไม่ได้ ชี้แจง คุณอาจตัดสินใจรับอินพุตเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ ระบุว่าในคำตอบของคุณ คำพูดจะไม่มีเครื่องหมายวรรคตอนใด ๆ ABCDEFGHIJKLMNOPQRSTUVWXYZพวกเขาจะประกอบด้วยตัวอักษรธรรมดาในชุด แทนที่จะเป็นค่าจริงและเท็จคุณอาจเลือกค่าที่แตกต่างและสอดคล้องกันสองค่าเพื่อส่งกลับค่าจริงและเท็จ หากคุณทำเช่นนี้ระบุค่าที่คุณเลือกในคำตอบของคุณ คุณอาจส่งออกค่าเท็จสำหรับคำที่แข็งแกร่งและเป็นความจริงสำหรับคำที่ไม่แข็งแกร่ง กรณีทดสอบ Input -> Output hate -> true love -> true popularize -> true academy -> true …

29
ประมูลบิลดอลลาร์
นี่คือความท้าทาย KOTH สำหรับเกมประมูลธนบัตรในทฤษฎีเกม ในนั้นดอลลาร์จะถูกขายให้กับผู้ประมูลสูงสุด การเสนอราคาเพิ่มขึ้น 5 ทีและผู้แพ้ก็จ่ายค่าประมูล แนวคิดก็คือผู้เล่นทั้งสองจะขยายสงครามการประมูลออกไปไกลเกินกว่าค่าเงินดอลลาร์เพื่อลดความสูญเสีย หวังว่าบอทของคุณจะฉลาดกว่านั้น คุณจะสร้างบอทเพื่อเล่นเกมนี้โดยขยายnet.ramenchef.dollarauction.DollarBidderชั้นเรียน คุณต้องใช้nextBidวิธีการที่จะคืนค่าการประมูลครั้งถัดไปของ bot ของคุณเนื่องจากการเสนอราคาก่อนหน้าของ bot อื่น หากจำเป็นคุณสามารถใช้newAuctionวิธีการรีเซ็ตสำหรับการประมูลแต่ละครั้งด้วยระดับของบอทของคู่ต่อสู้ public abstract class DollarBidder { /** * Used by the runner to keep track of scores. */ long score = 0; /** * (Optional) Prepare for the next auction. * * @param opponent The …

12
ฉันรักปลาซาร์ดีน
ฉันรักปลาซาร์ดีนฉันไม่สามารถได้รับเพียงพอจากพวกเขาและคอมพิวเตอร์ของฉันคือ Omnilang 5000 ซึ่งเป็นผู้ไม่เชื่อเรื่องภาษา เพื่อให้คอมพิวเตอร์ของฉันมีความสุขในการได้รับปลาซาร์ดีนฉันตัดสินใจที่จะป้อนโปรแกรมจำนวนมากที่สามารถแสดงบนหน้าจอของปลาซาร์ดีนในทิศทางที่หลากหลายและแสดงปลาซาร์ดีนได้มากถึงสิบรายการ ในการท้าทายนี้คุณจะต้องรับผิดชอบในการสร้างโปรแกรมตามพารามิเตอร์เหล่านี้: การป้อนข้อมูล ตัวเลข (ระหว่าง 0 ถึง 10) และตัวอักษรจาก "LR" ตัวใดตัวหนึ่งต่อไปนี้ (แทนซ้ายหรือขวาตามลำดับ) ตัวอย่างเช่น: 3Lหรือ5R; สิ่งที่อินพุตนี้เข้าสู่โปรแกรมขึ้นอยู่กับคุณ เอาท์พุต ดีบุกเปิดปลาซาร์ดีนปลาซาร์ดีนกับหันหน้าไปทางทิศทางที่ระบุด้วยที่สำคัญ (แสดงโดย " %" ตัวอักษร) และฝาปอกเปลือก (รีดขึ้นดีบุกในตอนท้ายที่แสดงโดย " @" ตัวอักษร) ตั้งอยู่ที่ด้านบนของดีบุก ปลาซาร์ดีนทั้งหมดจะต้องเผชิญกับทิศทางที่ระบุโดยอินพุต ปลาซาร์ดีนทั้งหมดจะมีเนื้อความยาวห้าตัวระหว่างเหงือก (" )" หรือ " (") และส่วนท้าย " ><" ม้วนกุญแจและฝาที่ปอกเปลือกจะหันหน้าไปทางทิศทางตรงข้ามกับปลาซาร์ดีนเสมอ ดีบุกต้องมีลักษณะสามมิติดังที่แสดงด้านล่างในตัวอย่าง ความสูงต่ำสุดของดีบุกคือ 3 ซาร์ดีน ดังนั้นถ้าตัวเลขมีค่าน้อยกว่า 3 จะต้องแสดงดีบุกปลาซาร์ดีนความสูง 3 …

22
เรียงลำดับการปีนเขา
โพสต์กอล์ฟรหัสแรกของฉันขอโทษสำหรับข้อผิดพลาดใด ๆ ... บริบท ในการปีนหน้าผา (การขึ้นรูปหินโดยเฉพาะ ) เกรด V / Vermin (สหรัฐอเมริกา) เริ่มต้นที่ 'VB' (เกรดที่ง่ายที่สุด) จากนั้นไปที่ 'V0', 'V0 +', 'V1', 'V2', 'V3' , 'V4', 'V5' ฯลฯ จนถึง 'V17' (เกรดที่ยากที่สุด) งาน คุณจะป้อนรายการ / อาร์เรย์ของคะแนนการปีนเขาและคุณจะต้องส่งคืนหรือพิมพ์รายการ / อาร์เรย์ของคะแนนที่เรียงลำดับจากง่ายที่สุดไปหายากที่สุด ถ้าอินพุตว่างให้ส่งคืนโครงสร้างข้อมูลเปล่า มิฉะนั้นการป้อนข้อมูลจะถูกต้องเสมอ กรณีทดสอบ Input | Output [] | [] ['V1'] | ['V1'] ['V7', 'V12', 'V1'] …

30
บาร์โค้ดของฉันถูกต้องหรือไม่?
EAN-8บาร์โค้ดรวมถึง 7 หลักของข้อมูลและการตรวจสอบหลักที่ 8 การตรวจสอบจะคำนวณโดยการคูณตัวเลขด้วย 3 และ 1 สลับกันเพิ่มผลลัพธ์และลบออกจากผลคูณถัดไปของ 10 ตัวอย่างเช่นกำหนดตัวเลข2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 ผลรวมของตัวเลขที่ได้คือ55ดังนั้นหลักของการตรวจสอบคือ60 - 55 = 5 ความท้าทาย งานของคุณคือกำหนดบาร์โค้ด 8 หลักให้ตรวจสอบว่ามันถูกต้องหรือไม่ - คืนค่าความจริงหากการตรวจสอบถูกต้องและเป็นเท็จ คุณสามารถป้อนข้อมูลในแบบฟอร์มใด ๆ ต่อไปนี้: สตริงที่มีความยาว …

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