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

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

22
เอาเธอไว้ข้างหลังฉันซาตาน - นายก!
ซาตาน Primes พวกเขาเป็นใคร? พวกเขาPrimesมี666 สิ่งเหล่านี้คือซาตาน - ช่วงเวลา[46663,266677,666599,666683,616669] เหล่านี้ไม่ใช่ :[462667,665669,36363631,555] พล็อต ทุกหมายเลขที่ใหญ่กว่า 6661 มีซาตาน primes อยู่ข้างหลังเขา ความท้าทาย รับจำนวนเต็มn>6661หา Satan-Prime ด้านหลัง (หรือเท่ากัน) และใกล้เคียงที่สุดกับตัวเอง ตัวอย่าง จำนวนเต็มn=30000มี 3 ซาตาน Primes (SP) [6661, 16661, 26669]ที่อยู่เบื้องหลังมัน: รหัสของคุณจะต้องส่งคืน26669ที่ใกล้เคียงที่สุด กรณีทดสอบ Input-> เอาท์พุท 6662->6661 10000->6661 66697->66697 (a SP returns himself) 328765->326663 678987->676661 969696->966677 กฎระเบียบ รหัสnเล็กน้อยควรใช้ได้กับทุกช่วงภาษาของคุณ นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!
22 code-golf  primes 

13
ทำ NP: หากลุ่มที่ใหญ่ที่สุด
พื้นหลัง ในขณะที่เขียนสิ่งนี้ปัญหา P vs NP ยังไม่ได้รับการแก้ไข แต่คุณอาจเคยได้ยินบทความใหม่ของNorbert Blum ที่อ้างว่าเป็นหลักฐานพิสูจน์ว่า P! = NP ซึ่งเป็นที่สงสัยกันว่าผิดพลาด (แต่เราจะเห็น) ปัญหาที่กล่าวถึงในบทความนี้เป็นปัญหากลุ่มพรรคพวก อย่างน้อยนั่นคือสิ่งที่ฉันอ่านในบทความในหนังสือพิมพ์ดังนั้นให้แก้ไขฉันถ้าฉันผิด แต่ไม่ว่าในกรณีใดฉันต้องการให้คุณเขียนโปรแกรมที่ช่วยแก้ไขตัวแปรต่อไปนี้: งาน สมมติว่าเรามีโรงเรียนขนาดใหญ่ที่มีนักเรียนจำนวนมาก นักเรียนเหล่านี้แต่ละคนมีเพื่อนที่โรงเรียนนี้ ก๊กของนักเรียนเป็นกลุ่มประกอบด้วยเพียงของนักเรียนที่เป็นเพื่อนกับสมาชิกแต่ละคนอื่น ๆ โปรแกรมของคุณจะได้รับนักเรียนที่เป็นเพื่อนเป็นคู่ของมัน จากข้อมูลนี้โปรแกรมจะต้องพบว่าขนาดของก๊กที่ใหญ่ที่สุด นักเรียนจะระบุรหัสจำนวนเต็ม หากคุณชอบคำศัพท์ทางคณิตศาสตร์หมายความว่าคุณได้รับขอบของกราฟที่ไม่ได้บอกทิศทางโดยแต่ละโหนดมีสองโหนด อินพุต [[1,2],[2,5],[1,5]]การป้อนข้อมูลของคุณจะเป็นรายการที่ไม่ว่างเปล่าของคู่จำนวนเต็มบวกเช่น คุณสามารถรับอินพุตนี้ในรูปแบบที่เหมาะสมเช่นเป็นอาร์เรย์ของอาร์เรย์เป็นบรรทัดของข้อความที่มีตัวเลขสองตัวต่อกัน ฯลฯ ... เอาท์พุต ผลลัพธ์ที่คาดหวังคือตัวเลขเดียวn >= 2: ขนาดของกลุ่มที่ใหญ่ที่สุด ด้วยตัวอย่างเช่นการป้อนข้อมูลดังกล่าวข้างต้นผลจะเป็น3เช่นเดียวกับนักเรียนทุกคน ( 1, 2และ5) เป็นเพื่อนกับแต่ละอื่น ๆ กรณีทดสอบ [[1,2]] => 2 [[1,2],[3,1],[3,4]] => 2 [[1,2],[2,5],[1,5]] …

30
ไม่มีใครรู้ว่าตัวเลข GAU
ฉันขอแนะนำคุณกับหมายเลข GAU GAU(1) = 1 GAU(2) = 1122 GAU(3) = 1122122333 GAU(4) = 11221223331223334444 GAU(6) = 11221223331223334444122333444455555122333444455555666666 ... GAU(10) = 11221223331223334444122333444455555122333444455555666666122333444455555666666777777712233344445555566666677777778888888812233344445555566666677777778888888899999999912233344445555566666677777778888888899999999910101010101010101010 ความท้าทายนี้ค่อนข้างง่าย! รับจำนวนเต็ม n> 0 ค้นหาจำนวนหลักของ GAU (n) ตัวอย่าง มาทำให้GAU (4) เราทำตามขั้นตอนต่อไปนี้ (จนกว่าเราจะได้ถึง 4) และต่อกัน [1][122][122333][1223334444] คุณต้องเขียนทุก ๆ หลาย ๆ ครั้งตามมูลค่าของมัน แต่คุณต้องนับทุก ๆ ครั้งตั้งแต่ 1 ลองทำGAU (5) เราจะต้องนับจาก 1 ถึง …

23
มหาวิหารเศษส่วน
รับจำนวนเต็มบวกn >= 1เอาท์พุทnแถวแรกของโครงสร้างต่อไปนี้: # # # ### # # # # # ## ## ##### # # # # # # # # # # ### # ## ## ## # ## ### ### ####### n-th แถว 1 การจัดทำดัชนีเป็นฐานเป็นตัวแทนของnกระจกโดยไม่คัดลอกตัวอักษรตัวสุดท้ายที่มี#ในสถานที่ของที่ 1 และ<space>ในสถานที่ของ 0. แถวทั้งหมดเป็นศูนย์กลาง คุณต้องแสดงผลเป็น ASCII-art แต่คุณสามารถใช้อักขระที่ไม่ใช่ช่องว่างแทนตำแหน่งที่ฉันใช้#ในตัวอย่าง อนุญาตให้ใช้ช่องว่างต่อท้ายและขึ้นบรรทัดใหม่ได้ เอาต์พุตต้องมีลักษณะตัวอย่างและไม่มีช่องว่างนำหน้าหรือบรรทัดใหม่นำหน้า คุณสามารถดู 1023 …

13
ยุบจำนวนเต็มต่อเนื่อง
ที่เกี่ยวข้อง: บอกฉันว่าฉันต้องทำปัญหาคณิตศาสตร์มากแค่ไหน! ท้าทาย ได้รับในเชิงบวกอย่างเคร่งครัดขึ้นอย่างเคร่งครัด L รายการจำนวนเต็มและ 3 ความยาว≤ N ≤ของ L จำนวนเต็มแทนที่จำนวนเต็มกลางของ L's จำนวนเต็มวิ่งติดต่อกันของความยาว≥ N -กับขีดเดียว กฎระเบียบ ช่องว่างในแนวนอนไม่เกี่ยวข้อง คุณสามารถเลือกที่จะคงไว้ซึ่งตัวแนะนำตัวคั่นและตัวคั่นของรูปแบบรายการเริ่มต้นของภาษาของคุณ ดูตัวอย่างรูปแบบด้านล่าง ตัวอย่างข้อมูล L = 3 5 6 7 8 10 11 12 14 16 17 18 19 20 21 22 24ตัวอย่างเหล่านี้ใช้ N = 3 → 3 5 - 8 10 - …

30
เพิ่มอาร์เรย์ด้วยตัวเอง
ความท้าทายของคุณในวันนี้คือการจัดเรียงแยกเป็นชิ้น ๆ และเพิ่มชิ้นส่วนเหล่านั้น นี่คือวิธีการทำงานนี้: โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับอาร์เรย์ของจำนวนเต็มและขนาดก้อนa Lอาเรย์ควรจะแบ่งออกเป็นขนาดของอาร์เรย์Lถ้าความยาวของอาเรย์ไม่สามารถหารได้Lดังนั้นอาเรย์ควรจะมี 0 ต่อท้ายมันเพื่อให้มันหารได้อย่างเท่าเทียมกัน เมื่ออาร์เรย์ถูก chunked ชิ้นทั้งหมดจะถูกรวมเข้าด้วยกันเป็นองค์ประกอบที่ชาญฉลาด อาร์เรย์ที่เป็นผลลัพธ์จะถูกส่งออก คุณสามารถสันนิษฐานได้ว่าLมีค่ามากกว่า 0 และนั่นaก็ไม่ใช่สิ่งที่ว่างเปล่า คุณไม่สามารถทำการสันนิษฐานได้ว่าaเนื้อหาของเป็นบวก นี่คือตัวอย่าง: [1,2,3,4,5,6,7,8], 3 => [1,2,3]+[4,5,6]+[7,8,0] => [1+4+7,2+5+8,3+6+0] => [12,15,9] กรณีทดสอบ: Array Length Output [1] 1 [1] [1] 3 [1,0,0] [0] 3 [0,0,0] [1,2] 3 [1,2,0] [1,2] 1 [3] [-1,1] 2 [-1,1] [-7,4,-12,1,5,-3,12,0,14,-2] 4 [12,-1,0,1] …

5
รหัส Golfinator-3000
อย่างที่ทุกคนรู้การเพิ่มinator-3000คำนามให้กลายเป็นเรื่องที่ยอดเยี่ยม แต่มีอะไรอีกที่สามารถทำให้คำเย็นขึ้นได้? รับสตริง ASCII เป็นอินพุทเอาท์พุทความเย็นของคำ การคำนวณความเย็น มี 4 องค์ประกอบในการคำนวณความเย็นของคำ คำว่าตัวเอง คะแนนฐานคือจำนวนตัวอักษรใหญ่คูณด้วย 1,000 หมายเลขสิ้นสุด หมายเลขที่ท้ายคำ (เช่น burninator- 3000 ) จะถูกเพิ่มไปยังคะแนนฐานแต่หากตัวเลขมากกว่า 4 หลักแสดงว่าพวกเขาโลภมากเกินไปและควรละเว้นเลขดังกล่าว ตัวเชื่อมต่อ ช่องว่างก่อนที่หมายเลขท้ายจะเพิ่ม 1,000 ในขณะที่เครื่องหมายขีดคั่นเพิ่ม 2000 สัญลักษณ์อื่นใดหรือไม่มีสัญลักษณ์เลยจะไม่มีผลใด ๆ คำต่อท้าย หากคำนั้นสิ้นสุดatorให้เพิ่มคะแนนเป็นสองเท่า ถ้ามันจบลงinatorให้ทำคะแนนสามเท่า สิ่งเหล่านี้ไม่คำนึงถึงขนาดตัวพิมพ์ ตัวอย่างเช่นBurninator-3000สามารถคำนวณดังนี้ 1 Capital letter - Base Score: 1000 (1000(base) + 3000(number) + 2000(hyphen)) * 3(suffix) = 18000 Testcases …
22 code-golf  string 

27
เรียงลำดับรายการที่แตกต่าง
รายการความแตกต่างของรายการจำนวนเต็มคือความแตกต่างของรายการสมาชิกที่ต่อเนื่องกัน ตัวอย่างเช่นรายการความแตกต่างของ 1, 3, 2 ,4 คือ 2, -1, 2 งานของคุณคือทำรายการความแตกต่างและเอาท์พุทว่ารายการความแตกต่างจะเป็นอย่างไรถ้าเรียงลำดับรายการต้นฉบับ ตัวอย่างเช่นรายการความแตกต่าง 2, 1, -2, -1 อาจแสดงรายการ 2 4 5 3 2 ซึ่งเมื่อเรียงเป็น 2 2 3 4 5 ซึ่งมีรายการแตกต่างกันไป 0 1 1 1 นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า

15
หอพลังที่ไม่มีที่สิ้นสุด
ความท้าทาย ค่อนข้างง่ายรับอินพุตxคำนวณมันเป็นหอคอยพลังงานที่ไม่มีที่สิ้นสุด! x^x^x^x^x^x... สำหรับคุณที่ชื่นชอบคณิตศาสตร์ออกมีนี้เป็นxของอนันต์tetration โปรดจำไว้ว่า: x^x^x^x^x^x... = x^(x^(x^(x^(x...)))) != (((((x)^x)^x)^x)^x...) แปลกใจที่เราไม่ได้มีความท้าทายทางคณิตศาสตร์ที่ "ง่าย" ที่เกี่ยวข้องกับเรื่องนี้! * สมมติฐาน xจะเสมอมาบรรจบกัน จำนวนลบและจำนวนเชิงซ้อนควรจะสามารถจัดการได้ นี่คือโค้ดกอล์ฟดังนั้นไบต์ที่ต่ำที่สุดจึงชนะ! คำตอบของคุณควรถูกต้องเป็นทศนิยมอย่างน้อย5ตำแหน่ง ตัวอย่าง Input >> Output 1.4 >> 1.8866633062463325 1.414 >> 1.9980364085457847 [Square root of 2] >> 2 -1 >> -1 i >> 0.4382829367270323 + 0.3605924718713857i 1 >> 1 0.5 >> 0.641185744504986 0.333... …
22 code-golf  math 

12
มันมีเมฆมากอย่างไร?
ท้าทาย เมื่อรับภาพท้องฟ้าคุณจะต้องเอาเมฆปกคลุมออกใน oktas รูปภาพที่ให้มาจะเป็นไฟล์รูปภาพ (ชนิดนั้นขึ้นอยู่กับคุณ) และเอาต์พุตควรเป็น STDOUT Oktas ในอุตุนิยมวิทยา okta เป็นหน่วยการวัดที่ใช้เพื่ออธิบายปริมาณการปกคลุมของเมฆที่ตำแหน่งใด ๆ เช่นสถานีอากาศ สภาพท้องฟ้ามีการประเมินในแง่ของจำนวนแปดสิบของท้องฟ้าที่ปกคลุมไปด้วยเมฆตั้งแต่ 0 oktas (ท้องฟ้าใสสมบูรณ์) ถึง 8 Oktas (มืดครึ้มอย่างสมบูรณ์) ท้องฟ้ามักจะเป็นภาพจากประมาณเที่ยงวัน (ดังนั้นท้องฟ้าสีฟ้าไม่ใช่ท้องฟ้าสีแดง / กลางคืน) สีของคลาวด์จะเป็นสีที่ตามรูปแบบต่อไปนี้: #ABCDEF ที่ไหนAB >= C0, และCD >= C0EF >= C0 หรือใน RGB: (A, B, C) ที่ไหนA >= 192, และB >= 192C >= 192 นี่คือเปอร์เซ็นต์การครอบคลุมที่เกี่ยวข้องกับ oktas: …

12
ระบายสีเสาให้ฉัน
ให้บอกว่างานของคุณคือการทาสีเสาและลูกค้าขอให้คุณวาดเสาที่มี 4 ส่วนสีแดงและ 3 ส่วนสีเหลือง คุณสามารถทำได้โดยง่ายดังนี้ r y r y r y r มีแถบสีเหลืองและสีแดง ตอนนี้ช่วยบอกลูกค้าของคุณขอให้คุณวาดเสามี 2 ส่วนสีแดง 2 ส่วนสีเหลืองและ1 ส่วนสีเขียว มีสองวิธีที่คุณสามารถทาสีเสาของคุณ g y r y r y g r y r y r g y r y r y g r y r y r g g r y r …

6
เคล็ดลับสำหรับการเล่นกอล์ฟใน Kotlin
จากการประกาศเมื่อเร็ว ๆ นี้ของ Google เกี่ยวกับการสนับสนุนKotlinอย่างเป็นทางการสำหรับการพัฒนา Android ผมคิดว่าอาจถึงเวลาที่จะสำรวจชุมชนสำหรับเคล็ดลับการเล่นกอล์ฟที่ยอดเยี่ยมสำหรับภาษา JVM ที่ค่อนข้างใหม่นี้ Kotlin มีการผสมผสานคุณสมบัติที่ไม่เหมือนใครในหมู่พี่น้อง JVM ซึ่งทำให้น่าสนใจสำหรับการเล่นกอล์ฟ: ผู้ประกอบการมากไป ฟังก์ชั่นท้องถิ่น , มัดและฟังก์ชั่นส่วนขยายคงที่ สมาร์ทดุจ ผู้สร้างแบบปลอดภัยชนิด Groovy พิมพ์นามแฝง ช่วง แพคเกจคอลเลกชันการทำงานที่กว้างขวาง สนับสนุนการเขียนสคริปต์ ดังนั้นฉันจะบีบสองสามไบต์สุดท้ายออกจากโปรแกรม Kotlin ของฉันได้อย่างไร กรุณาหนึ่งเคล็ดลับต่อคำตอบ
22 code-golf  tips 

20
มันยอดเยี่ยมหรือไม่?
พื้นหลัง ซุปเปอร์สำคัญเป็นจำนวนเฉพาะที่มีดัชนีในรายการของจำนวนเฉพาะทั้งหมดยังเป็นนายก ลำดับมีลักษณะดังนี้: 3, 5, 11, 17, 31, 41, 59, 67, 83, 109, 127, 157, 179, 191, ... นี่คือA006450 ลำดับใน OEIS ท้าทาย รับจำนวนเต็มบวกกำหนดว่าเป็นยอดเยี่ยม กรณีทดสอบ 2: เท็จ 3: จริง 4: เท็จ 5: จริง 7: เท็จ 11: จริง 13: เท็จ 17: จริง 709: จริง 851: เท็จ 991: จริง เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ

18
พับสตริงเป็นรูปสามเหลี่ยม
รับสตริงที่มีความยาวหารด้วย 4 ทำสามเหลี่ยมตามตัวอย่างด้านล่าง หากสตริงเป็นabcdefghijklดังนั้นรูปสามเหลี่ยมจะเป็น: a b l c k defghij หากสตริงเป็นiamastringwithalengthdivisiblebyfourดังนั้นรูปสามเหลี่ยมจะเป็น: i a r m u a o s f t y r b i e n l gwithalengthdivisib หากสตริงเป็นthisrepresentationisnotatriangleดังนั้นรูปสามเหลี่ยมจะเป็น: t h e i l s g r n e a p i r r esentationisnotat หมายเหตุ สตริงจะประกอบด้วยอักขระตั้งแต่aถึงzเท่านั้น ช่องว่างนำหน้า / …

29
ยุบรายการที่อยู่ติดกัน
ท้าทาย ให้ลิสต์ของจำนวนเต็มคืนค่าลิสต์ของจำนวนเต็มเหล่านี้ซ้ำ ๆ หลังจากลบคู่ที่เท่ากันทุกรายการ โปรดทราบว่าหากคุณมีตัวเลขที่มีความยาวเท่ากันหนึ่งในนั้นจะยังคงอยู่ไม่ได้เป็นส่วนหนึ่งของคู่ ตัวอย่าง: [0, 0, 0, 1, 2, 4, 4, 2, 1, 1, 0] ครั้งแรกที่คุณควรลบ0, 0, 4, 4และ1, 1จะได้รับ: [0, 1, 2, 2, 0] ตอนนี้คุณควรลบ2, 2: [0, 1, 0] และนี่คือผลลัพธ์สุดท้าย กรณีทดสอบ [] -> [] [1] -> [1] [1, 1] -> [] [1, 2] -> [1, 2] [11, …

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