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

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

23
ค้นหาความแตกต่าง BCD ของตัวเลข
ความแตกต่าง BCD กำหนดจำนวนเต็ม n ให้แปลงเป็น BCD ( ทศนิยมทศนิยมด้วยรหัสไบนารี ) โดยแทนที่ทศนิยมแต่ละหลักด้วยการแทนเลขฐานสอง 4 หลัก 234 -> 0 0 1 0 0 0 1 1 0 1 0 0 จากนั้นหมุนรายการของเลขฐานสองเพื่อหาจำนวนที่มากที่สุดและน้อยที่สุดซึ่งสามารถแทนได้โดยรายการนี้โดยไม่มีการจัดเรียงใหม่ max: 1 1 0 1 0 0 0 0 1 0 0 0 (the entire list rotated left 6 times) min: 0 0 …

16
การเรนเดอร์แบบง่าย
มีหลายวิธีในการสร้างส่วนหัวในโพสต์บนเครือข่ายกองซ้อนแลกเปลี่ยน รูปแบบที่ใช้บ่อยที่สุด1บน PPCG น่าจะเป็น: # Level one header ## Level two header ### Level three header สังเกตช่องว่างหลังเครื่องหมายแฮช นอกจากนี้โปรดทราบว่าเครื่องหมายแฮชต่อท้ายจะไม่รวมอยู่ ท้าทาย: ใช้สตริง (อาจเป็นหลายบรรทัด) เป็นอินพุตและเอาต์พุตสตริงในรูปแบบต่อไปนี้: หากส่วนหัวเป็นระดับ 1 ให้เอาท์พุทแต่ละตัวอักษร 4 - 4-4 ครั้ง หากส่วนหัวเป็นระดับ 2 ให้เอาท์พุทแต่ละตัวอักษร 3-by-3 หากส่วนหัวเป็นระดับ 3 ให้เอาท์พุทตัวอักษรแต่ละตัว 2 คูณ 2 หากบรรทัดไม่ใช่ส่วนหัวให้เอาท์พุทตามที่เป็นอยู่ เพื่อแสดง: --- Level 1 --- # Hello --- Output--- HHHHeeeelllllllloooo …

30
ตัวเลขรูปสามเหลี่ยม
จำนวนสามเหลี่ยมเป็นจำนวนที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกติดต่อกันเริ่มต้นที่ 1 พวกเขายังสามารถแสดงออกด้วยสูตรn(n + 1) / 2ที่nเป็นจำนวนเต็มบวกบาง คู่ที่เป็นตัวเลขดิจิตอลของตัวเลขถูกคำนวณด้วยวิธีต่อไปนี้: แบ่งตัวเลขออกเป็นอาเรย์ของตัวเลขเช่น 613 => [6 1 3] สำหรับแต่ละหมายเลขในอาร์เรย์ให้คำนวณnจำนวนสามเหลี่ยมที่สาม[6 1 3] => [21 1 6] รวมอาร์เรย์ผลลัพธ์ [21 1 6] => 28 งานของคุณคือรับจำนวนเต็มnคำนวณnคู่ของรูปสี่เหลี่ยมจัตุรัสซ้ำ ๆจนกระทั่งผลลัพธ์เท่ากับ 1 แล้วส่งออกค่าทั้งหมดที่คำนวณ คุณสามารถส่งออกค่าในลำดับใด ๆ และด้วยการรวมตัวเลือกของหมายเลขเดิมที่จุดเริ่มต้นของอาร์เรย์ นี่คือรหัสกอล์ฟเพื่อให้รหัสที่สั้นที่สุดชนะ กรณีทดสอบ 23 => 9 45 25 18 37 34 16 22 6 21 4 10 …
20 code-golf  math 

30
สลับ Endianness
เป็นที่สุดของคุณอาจจะรู้ (ไบต์แอดเดรส) ความทรงจำฮาร์ดแวร์สามารถแบ่งออกเป็นสองประเภท - น้อย endianและbig- ในความทรงจำเล็ก ๆ น้อย ๆ bytes จะถูกกำหนดหมายเลขเริ่มต้นด้วย 0 ที่จุดสิ้นสุด (สำคัญน้อยที่สุด) และในทางกลับกันขนาดใหญ่ ข้อเท็จจริงที่สนุกสนาน : ข้อตกลงนี้มีพื้นฐานมาจากหนังสือGulliver's Travels ของJonathan Swiftที่ซึ่งกษัตริย์ Lilliputian สั่งให้ประชาชนของเขาทำลายไข่ของพวกเขาในตอนจบเล็ก ๆ การแลกเปลี่ยนทำงานอย่างไร สมมติว่าเรามีจำนวนเต็มไม่ได้ลงนาม (32 บิต) 12648430ในหน่วยความจำในเครื่องขนาดใหญ่ที่อาจมีลักษณะดังนี้: addr: 0 1 2 3 memory: 00 C0 FF EE โดยการกลับคำสั่ง byte เราได้รับจำนวนเต็มฐานสิบหก0xEEFFC000ซึ่งเป็น4009738240ทศนิยม งานของคุณ เขียนโปรแกรม / ฟังก์ชั่นที่ได้รับจำนวนเต็ม 32 บิตที่ไม่ได้ลงนามเป็นทศนิยมและส่งออกจำนวนเต็มผลลัพธ์เมื่อสลับ endianness …

13
Binary Square Sequence Sequence
ลำดับไบนารีสี่เหลี่ยมจัตุรัสเส้นทแยงมุมถูกสร้างขึ้นดังนี้ ใช้ลำดับของจำนวนธรรมชาติเป็นบวก: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ... แปลงตัวเลขแต่ละตัวเป็นไบนารี: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, ... เรียงต่อกัน: 11011100101110111100010011010101111001101111011111000010001 ... เริ่มต้นด้วยn=1สร้างสี่เหลี่ยมด้วยการเพิ่มความยาวด้านnซึ่งเติมจากซ้ายไปขวา, จากบนลงล่างด้วยองค์ประกอบของลำดับข้างต้น:11 0 1 11 0 0 1 …

20
ทำให้ตัวเลขสองหมายเลขเป็นค่าร่วมขณะที่รักษาค่าสามัญน้อยที่สุด
กำหนดจำนวนเต็มบวกสองค่าaและแสดงbผลจำนวนเต็มบวกสองค่าcและdเช่น: c แบ่ง a d แบ่ง b cและdเป็นนายกร่วม ตัวคูณร่วมน้อยของcและdเท่ากับตัวคูณร่วมน้อยของและab หากมีคำตอบมากกว่าหนึ่งคำตอบคุณสามารถส่งออกได้หนึ่งหรือทั้งหมดเท่านั้น กรณีทดสอบ: a b c d 12 18 4 9 18 12 9 4 5 7 5 7 3 6 1 6 or 3 2 9 9 9 1 or 1 9 6 15 2 15 or 6 5 1 1 …

22
สร้างกระดานหมากรุก
สำหรับความท้าทายนี้คุณจะพิมพ์พิกัดและสีของแต่ละชิ้นในตอนเริ่มเกมหมากฮอส ป้อน x และ y (คั่นด้วยเครื่องหมายจุลภาค) สำหรับทุกตาราง (ทำดัชนี 0-7) บนกระดานหมากรุกตามด้วย "r" หรือ "b" (สำหรับสีแดงหรือสีดำ) ที่ด้านบนของกระดาน (ใกล้กับ y = 0 ) เป็นสีแดงและด้านล่างเป็นสีดำ ต้องขึ้นบรรทัดใหม่ระหว่างชิ้นส่วนและไม่จำเป็นต้องเว้นวรรค นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่านั้นจะดีกว่า ขึ้นบรรทัดใหม่ที่ได้รับอนุญาต แต่ไม่จำเป็นและการสั่งซื้อจะต้องตรงกับด้านล่าง ผลลัพธ์ที่ต้องการ: 0,0r 0,2r 0,4r 0,6r 1,1r 1,3r 1,5r 1,7r 2,0r 2,2r 2,4r 2,6r 5,1b 5,3b 5,5b 5,7b 6,0b 6,2b 6,4b 6,6b 7,1b 7,3b 7,5b 7,7b

30
นับการเปลี่ยนแปลงในอาร์เรย์
งานของคุณในวันนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้อาร์เรย์จำนวนเต็มและนับจำนวนครั้งโดยอ่านจากซ้ายไปขวาว่าค่าเปลี่ยนไป นี่เป็นตัวอย่างที่แสดงได้ง่ายกว่า:[1 1 1 2 2 5 5 5 5 17 3] => [1 1 1 **2** 2 **5** 5 5 5 **17** **3**] => 4 กรณีทดสอบ: Input | Output [] | 0 [0] | 0 [0 1] | 1 [0 0] | 0 [1 2 3 17] | 3 …

23
รายการแบ่งได้หรือไม่
แรงบันดาลใจ (ที่มีคำอธิบายที่ถูกขโมย) จากนี้ พื้นหลัง สมมติว่าคุณมีสองรายการA = [a_1, a_2, ..., a_n]และB = [b_1, b_2, ..., b_n]จำนวนเต็ม เรากล่าวAคืออาจ-หารโดยBหากมีการเปลี่ยนแปลงของBที่ทำให้a_iหารด้วยทั้งหมดb_i iปัญหาคือ: มันเป็นไปได้ที่จะเรียงลำดับใหม่ (เช่นเรียงสับเปลี่ยน) Bเพื่อให้a_iหารด้วยb_iทั้งหมดiหรือไม่? ตัวอย่างเช่นถ้าคุณมี A = [6, 12, 8] B = [3, 4, 6] แล้วคำตอบจะเป็นTrueเช่นBสามารถที่จะจัดลำดับใหม่B = [3, 6, 4]และจากนั้นเราจะมีที่a_1 / b_1 = 2, a_2 / b_2 = 2และa_3 / b_3 = 2ซึ่งทั้งหมดเป็นจำนวนเต็มดังนั้นอาจเป็น-หารด้วยAB เป็นตัวอย่างที่ควรส่งออกFalseเราอาจมี: …

25
เก็บ / วาง / เพิ่มลำดับ
นี่คือลำดับที่ฉันพูดถึง: {1, 4, 5, 9, 10, 11, 16, 17, 18, 19, 25, 26, 27...} เริ่มต้นจาก 1 เก็บ 1 ลดลง 2 ถัดไปเก็บ 2 ถัดไปลดลง 3 เก็บ 3 และอื่น ๆ ใช่มันอยู่ในOEIS (A064801)ด้วย! ความท้าทาย รับจำนวนเต็มn>0หาคำที่ n ของลำดับข้างต้น กรณีทดสอบ Input -> Output 1->1 22->49 333->683 4444->8908 12345->24747 นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ! โชคดี!

30
ค้นหาผลรวมของตัวหารของ N
เขียนโปรแกรมที่แสดงบนหน้าจอผลรวมของตัวหารของตัวเลข (1 ≤ N entered 100) ที่ป้อนโดยผู้ใช้ในช่วง 1 ถึง N นี่คือOEIS A000203 ตัวอย่าง: อินพุต : 7 7 / 1 = 7 7 / 7 = 1 7 + 1 = 8 ผลลัพธ์: 8 อินพุต: 15 15 / 1 = 15 15 / 3 = 5 15 / 5 = 3 …

15
ทำนายการปะทะกัน: โจรจะหนีไปหรือไม่
คิดว่าถนนเป็นเส้นจำนวนเริ่มต้น0และดำเนินการต่อไปเรื่อย ๆ : ................................................................. มีรถสองคันบนท้องถนนที่มีและC เป็นตำรวจที่พยายามจะจับโจร เริ่มที่และเริ่มที่อื่นบนถนน:RCRC0R C.............................R.................................. ตำรวจกำลังเคลื่อนไหว - เขากำลังไล่โจร เขามีความเร็วคงที่ โจรเพิ่งกระโดดเข้าไปในรถของเขา เขาเร่ง แต่ละเห็บความเร็วของโจรจะเพิ่มขึ้นตามการเร่งความเร็วของเขา Say ความเร็วของตำรวจเป็นและเร่งโม่งคือ7 1หากโจรเริ่มต้น30สิ่งนี้จะเป็นถนนที่มีลักษณะเหมือนเห็บแต่ละอัน: C.............................R.................................. .......C.......................R................................. ..............C..................R............................... .....................C..............R............................ ............................C...........R........................ ...................................C.........R................... ..........................................C........R............. .................................................C........R...... หลังจากเห็บสุดท้ายข้างต้นความเร็วของโจรจะเท่ากับตำรวจและเขาก็ยังอยู่ข้างหน้า เนื่องจากตำรวจกำลังเคลื่อนที่ด้วยความเร็วคงที่และโจรก็ยังคงเร่งความเร็วโจรจึงหนีออกมาดังนั้นคุณจึงส่งออกค่าจริง อย่างไรก็ตามหากความเร็วตำรวจเป็น9... C.............................R.................................. .........C.....................R................................. ..................C..............R............................... ...........................C........R............................ ....................................C...R........................ .............................................X................... ... จากนั้นตำรวจจะจับโจรปล้นก่อนที่โจรจะออกไป (ทำเครื่องหมายโดยX) ดังนั้นคุณจะได้ผลลัพธ์ที่ผิดพลาด งานของคุณ กำหนดสามอินพุต - ความเร็วของตำรวจตำแหน่งโจรและความเร่งของโจร - กำหนดว่าโจรจะหนีไปหรือไม่ กฎระเบียบ 0ตำรวจมักจะเริ่มต้นที่ อินพุตทั้งหมดจะเป็นจำนวนเต็มบวก ตำรวจจับโจรถ้าหลังจากติ๊กตำแหน่งตำรวจมากกว่าหรือเท่ากับตำแหน่งของโจร โจรจะหนีไปเมื่อเขายังไม่ถูกจับและความเร็วของเขาจะมากกว่าของตำรวจ …

21
พับจำนวนเต็มเพื่อประหยัดพื้นที่!
นักคณิตศาสตร์บ้าเป็นเจ้าของตัวเลขจำนวนมากและพื้นที่ที่เขาทิ้งมี จำกัด เพื่อช่วยให้บางเขาต้องพับจำนวนเต็ม แต่น่าเสียดายที่เขาขี้เกียจจริงๆ งานของคุณหากคุณต้องการช่วยเขาคือการสร้างฟังก์ชั่น / โปรแกรมที่พับจำนวนเต็มบวกที่กำหนดสำหรับความบ้าคลั่งจำนวนของเรา วิธีการพับจำนวนเต็ม? หากมันหารอย่างสม่ำเสมอด้วยผลรวมของตัวเลขให้หารด้วยผลรวมของตัวเลข หากไม่เป็นไปตามข้อกำหนดดังกล่าวให้นำส่วนที่เหลือมาหารด้วยผลรวมของตัวเลข 1ทำซ้ำขั้นตอนจนกว่าจะถึงผลที่ตามมา จำนวนเต็มที่ถูกพับคือจำนวนของการดำเนินการที่คุณต้องดำเนินการ ลองยกตัวอย่าง (พูด1782): 1 + 7 + 8 + 2 = 18ได้รับผลรวมของตัวเลขของ: 1782หารเท่า ๆ กันโดยดังนั้นจำนวนต่อไปคือ181782 / 18 = 99 99ไม่หารเท่า ๆ กันโดยเหตุนี้เราใช้เวลาที่เหลือ:9 + 9 = 1899 % 18 = 9 9หารอย่างเห็นได้ชัดโดยเราจึงแบ่งมันและได้รับ91 ผลลัพธ์คือ3เนื่องจากต้องการการดำเนินการ 3 ครั้งเพื่อให้สามารถเข้าถึง1ได้ กฎและข้อกำหนด จำนวนเต็มบางคนอาจจะมีผลรวมของตัวเลขเท่ากับ1เช่นหรือ10 100โปรแกรมของคุณไม่จำเป็นต้องจัดการกับกรณีดังกล่าว ซึ่งหมายความว่าคุณจะรับประกันได้ว่าจำนวนเต็มที่ได้รับเป็นอินพุตไม่มีผลรวมของตัวเลขเท่ากับ1และไม่มีการดำเนินการกับจำนวนเต็มที่กำหนดจะส่งผลให้ตัวเลขที่มีผลรวมของตัวเลข1(ยกเว้น1ตัวมันเองซึ่งก็คือ " …

14
ฉันจะระบุรัฐได้กี่รัฐ
เมื่อฉันยังเด็กฉันมีแผนที่ขนาดใหญ่ของสหรัฐอเมริกาติดอยู่บนผนังตรงข้ามกับเตียง เมื่อฉันเบื่อฉันจะจ้องที่แผนที่นั้นและคิดถึงสิ่งต่าง ๆ สิ่งที่ชอบทฤษฎีบทสี่สีหรือรัฐที่ล้อมรอบรัฐอื่น ๆ มากที่สุด เพื่อประหยัดพลังสมองในการนับน้องของฉันคุณจะต้องคิดค้นเครื่องย้อนเวลาและบอกฉันว่ามีกี่รัฐที่ส่งสัญญาณเข้ามา เนื่องจากเวลามีความพิถีพิถันสิ่งนี้จึงต้องสั้นที่สุด งาน เมื่อระบุหนึ่งใน 50 รัฐของสหรัฐอเมริกาไม่ว่าจะด้วยชื่อเต็มหรือตัวย่อของไปรษณีย์ตามที่พบในหน้านี้ ( mirror.org mirror.org ) ให้ส่งกลับจำนวนสถานะที่ชายแดน ต่อไปนี้คือการแม็พอินพุตทั้งหมดสำหรับชื่อเต็มของรัฐกับจำนวนของรัฐที่อยู่ติดกันซึ่งพบได้บนเว็บไซต์นี้ Missouri, Tennessee -> 8 Colorado, Kentucky -> 7 Arkansas, Idaho, Illinois, Iowa, Nebraska, New York, Oklahoma, Pennsylvania, South Dakota, Utah, Wyoming -> 6 Arizona, Georgia, Massachusetts, Michigan, Minnesota, Nevada, New Mexico, Ohio, …
20 code-golf  number 

4
ความแตกต่างเป็นรูปสี่เหลี่ยมผืนผ้า
ในความท้าทายนี้คุณจะได้รับสองรูปสี่เหลี่ยมผืนผ้าที่ทับซ้อนกันและคุณจำเป็นต้องคำนวณรูปสี่เหลี่ยมผืนผ้าที่สร้างขึ้นโดยการลบหนึ่งจากอื่น ๆ ตัวอย่างเช่นหากคุณลบสี่เหลี่ยมสีแดงออกจากสีดำ: คุณท้ายด้วยหนึ่งในสองชุดสี่เหลี่ยมต่อไปนี้: คุณจะต้องจัดการสิ่งต่อไปนี้ด้วย: เพื่อให้ชัดเจนยิ่งขึ้น: คุณจะป้อนค่าพิกัดของสองรูปสี่เหลี่ยมผืนผ้า A และ B คุณต้องแสดงผลสี่เหลี่ยมที่ไม่ได้ซ้อนกันน้อยที่สุดซึ่งครอบคลุมพื้นที่ทั้งหมดของ A โดยไม่มี B การอนุญาตใด ๆ ที่เป็นไปได้จะได้รับอนุญาต พิกัดสี่เหลี่ยมถูกส่งผ่านเป็นจำนวนเต็ม 4 ตัว คุณสามารถส่งต่อพวกเขาเป็นสองคู่ (แทนจุดสองมุม) หรือเป็น tuple / list ของจำนวนเต็ม 4 ตัว อินพุตและเอาต์พุตของคุณจะต้องสอดคล้องกัน A และ B ไม่จำเป็นต้องทับซ้อนกันหรือสัมผัสและแต่ละอันจะมีพื้นที่อย่างน้อย 1 กรณีทดสอบ: [(0 0) (5 5)] [(3 4) (8 7)] -> [(0 0) (5 4)] [(0 …

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