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

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

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 …

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 หลักให้ตรวจสอบว่ามันถูกต้องหรือไม่ - คืนค่าความจริงหากการตรวจสอบถูกต้องและเป็นเท็จ คุณสามารถป้อนข้อมูลในแบบฟอร์มใด ๆ ต่อไปนี้: สตริงที่มีความยาว …

15
ฉันต้องการมานามากแค่ไหน?
Dungeon Masterเป็นเกมเล่นตามบทบาทแบบเรียลไทม์เกมแรกที่เปิดตัวครั้งแรกในปี 1987 ใน Atari ST ในบรรดาสิ่งที่น่าตื่นเต้นอื่น ๆ ในเวลานั้นมันมีระบบคาถาที่ค่อนข้างซับซ้อนบนพื้นฐานของรูน งานของคุณในวันนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่ประเมินจำนวนคะแนนมานาที่ต้องใช้ในการร่ายคาถาที่กำหนดให้ใน Dungeon Master ระบบ 'คาถาร่าย' เป็นกล่องสีฟ้าด้านบนขวาในภาพด้านบน คาถารูนและมานา คาถา Dungeon Master ประกอบด้วยรูน 2 ถึง 4 รูที่ถูกเลือกในหมวดหมู่ต่อไปนี้ตามลำดับที่แน่นอนนี้: พลังงาน (จำเป็น) อิทธิพลของธาตุ (จำเป็น) แบบฟอร์ม (ไม่จำเป็น) ระดับ / การจัดตำแหน่ง (ตัวเลือก) หมายความว่าคาถาที่ถูกต้องคือ: อำนาจ + อิทธิพลของธาตุ พลังงาน + อิทธิพลของธาตุ + แบบฟอร์ม อำนาจ + อิทธิพลของธาตุ + แบบฟอร์ม + ระดับ …

10
Martin vs Dennis - รอบที่ 1: ใครมีตัวแทนมากขึ้น
ฉันรู้ว่ามีความท้าทายมากมายเกี่ยวกับ "นักกอล์ฟสองคนที่ดีที่สุดในโลก" แต่สิ่งนี้มีความพิเศษมากขึ้นอีกเล็กน้อยการอยู่ในรอบที่ 1ในความท้าทาย (อนาคต) ที่เกี่ยวข้องกับพวกเขาทั้งสองคน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ให้ผลตอบแทนสองสายที่ไม่ใช่ช่องว่าง ASCII ที่แตกต่างกันเพื่อให้ตรงกับคนที่มีชื่อเสียงมากขึ้นในขณะที่โปรแกรมที่วิ่งระหว่างเดนนิส♦และมาร์ตินเอนเดอร์♦ ส่วนที่ยุ่งยากคือคุณต้องส่งออกที่แน่นอนสตริง"ผูก"ในกรณีที่มีชื่อเสียงเป็นเหมือนกัน (ไม่น่า) และทั้งสองไม่ใช่ช่องว่างสตริง ASCII ที่แตกต่างกันดังกล่าวข้างต้นควรจะแตกต่างกว่า"ผูก" * ไม่สามารถรับอินพุตได้เช่นชื่อผู้ใช้หรือรหัสผู้ใช้ ตามปกติแล้วตัวย่อ URL จะถูกห้ามและเช่นเดียวกับช่องโหว่ทั่วไป ตัวอย่าง: Let the chosen string for Dennis be "D" and the chosen one for Martin Ender be "M" (should be specified) If Dennis' rep > Martin Ender's rep => D If …

28
สร้างผนังไบนารี
กำหนดอาร์เรย์ของจำนวนเต็มบวกในฐาน 10 ที่ซึ่งแสดงn > 0เอาต์พุตของกำแพงไบนารี มันทำงานอย่างไร แปลงตัวเลขแต่ละตัวให้เป็นตัวแทนไบนารี Pad แทนด้วยเลขศูนย์ที่นำไปสู่ความยาวของที่ยาวที่สุดคือหนึ่ง1, 2-> ->1, 1001, 10 สร้างกำแพงที่1เป็นอิฐและ0อิฐหายไป ผนังเป็นบล็อกของตัวละครที่ตัวละครที่พิมพ์ได้ใด ๆ ที่แสดงถึงอิฐและช่องว่าง ( 32) หมายถึงอิฐที่ขาดหาย คุณสามารถเลือกตัวละครใดก็ได้สำหรับอิฐมันไม่จำเป็นต้องโดดเด่นข้ามกำแพงตราบใดที่มันไม่ใช่ตัวอักษรเว้นวรรค อักขระอิฐที่หายไปจะต้องเป็นช่องว่าง ตัวอย่างด้านล่างฉันใช้*สำหรับอิฐ ตัวอย่าง การป้อนข้อมูล: [ 15, 7, 13, 11 ] [ 1111, 111, 1101, 1011 ] [ 1111, 0111, 1101, 1011 ] เอาท์พุท: **** *** ** * * ** …

30
ค้นหาตัวเลขที่ไม่ซ้ำกันสูงสุด
น่าแปลกที่เรายังไม่มีการท้าทาย "ค้นหาตัวเลขที่สูงที่สุด" ง่าย ๆ แต่ฉันคิดว่านั่นเป็นเรื่องเล็กน้อยเกินไป รับอินพุตของจำนวนเต็มแบบไม่ลบให้คืนค่าหลักที่ไม่ซ้ำกันสูงสุด(เช่นไม่ซ้ำ) ที่พบในจำนวนเต็ม หากไม่มีตัวเลขที่ไม่ซ้ำกันโปรแกรมของคุณสามารถทำอะไรก็ได้ (พฤติกรรมที่ไม่ได้กำหนด) อินพุตสามารถนำมาเป็นจำนวนเต็มเดียวสตริงหรือรายการตัวเลข กรณีทดสอบ 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!

30
ทำให้มันระเบิด!
ใช้เมทริกซ์ของจำนวนเต็มบวกเป็นอินพุตและทำให้มันระเบิด! วิธีที่คุณระเบิดเมทริกซ์คือการเพิ่มค่าศูนย์รอบ ๆ ทุกองค์ประกอบรวมถึงเส้นขอบภายนอก รูปแบบอินพุต / เอาต์พุตเป็นตัวเลือกเช่นเคย! กรณีทดสอบ: 1 ----- 0 0 0 0 1 0 0 0 0 -------------- 1 4 5 2 ----- 0 0 0 0 0 0 1 0 4 0 0 0 0 0 0 0 5 0 2 0 0 0 0 0 0 …
33 code-golf  matrix 

30
หมายเลขนี้เป็น repdigit หรือไม่
ท้าทาย repdigitเป็นจำนวนเต็มไม่ใช่เชิงลบที่มีตัวเลขเท่ากันทั้งหมด สร้างฟังก์ชั่นหรือโปรแกรมที่สมบูรณ์ที่ใช้จำนวนเต็มเดียวเป็นอินพุทและเอาท์พุทค่าความจริงถ้าหมายเลขอินพุทเป็น repdigit ในฐาน 10 และค่าเท็จ อินพุตรับประกันว่าจะเป็นจำนวนเต็มบวก คุณอาจใช้และใช้อินพุตเป็นตัวแทนสตริงในฐาน 10 ด้วยการยกเว้นโทษ กรณีทดสอบ เหล่านี้คือ repdigits ต่ำกว่า 1,000 ทั้งหมด 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 รายการที่มีขนาดใหญ่สามารถพบได้ใน OEIS การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ไม่ได้หมายความว่าคำตอบที่ฉลาดในภาษา verbose …

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