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

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

11
จัดอันดับค่าอย่างเป็นธรรม
งาน รับรายการการป้อนข้อมูลของจำนวนเต็มx 1 ... x nคำนวณรายการอันดับr 1 ... R n (กการเปลี่ยนแปลงของ{1} ... n ) เพื่อที่x R 1 ≤ x R 2 ≤≤ x ... R n แล้วสำหรับแต่ละx ฉันเปลี่ยนตำแหน่งของตนโดยมีค่าเฉลี่ยเลขคณิตของการจัดอันดับของค่าทั้งหมดในxที่เท่ากับxฉัน (นั่นคือเมื่อใดก็ตามที่มีการเสมอกันระหว่างค่าที่เท่ากันในxให้แบ่งอันดับใหม่อย่างเป็นธรรมในหมู่พวกเขาทั้งหมด) เอาท์พุทรายการแก้ไขของอันดับr ' 1 … r'n . (สำหรับสถิติ geeks: การจัดอันดับของการสังเกตดังกล่าวถูกนำมาใช้ในMann-Whitney Uทดสอบ (วิธีสองขั้นตอนที่ 1)) ตัวอย่าง รับรายการอินพุต[3, -6, 3, 3, 14, 3]รายการอันดับแรกจะเป็น[2, 1, 3, …

30
เลขศูนย์ของ Champernowne อยู่ที่ไหน
พิจารณาสตริงที่ไม่สิ้นสุดของจำนวนเต็มทศนิยมแบบไม่ลบทั้งหมดที่ต่อกันเข้าด้วยกันตามลำดับ (คล้ายกับค่าคงที่ของ Champernowne ): 0123456789101112131415161718192021222324252627282930...979899100101102103... เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มที่ไม่ใช่ค่าลบที่ทำดัชนี (อิง 0) ลงในสตริงที่ไม่มีที่สิ้นสุดนี้ เอาท์พุทtruthyค่าถ้าหลักจัดทำดัชนีคือ 0, เอาท์พุทมิฉะนั้นfalsyค่าถ้าหลักคือ 1-9 รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ปัจจัยการผลิตที่แท้จริง 25 ข้อแรกคือ: 0 11 31 51 71 91 111 131 151 171 191 192 194 197 200 203 206 209 212 215 218 222 252 282 312 ความรุ่งโรจน์ถ้าโปรแกรมของคุณมีประสิทธิภาพหน่วยความจำ แต่นี่ไม่ใช่ข้อกำหนด

16
จัดเรียงตัวหารของตัวเลขด้วยการแยกตัวประกอบเฉพาะ
กำหนดอินพุตของจำนวนเต็ม≥ 2 เอาท์พุทลิสต์ตัวเรียงลำดับตามเลขชี้กำลังในแฟคตอเรียลที่สำคัญตามลำดับจากมากไปหาน้อยโดยเรียงลำดับจากนายกที่ใหญ่ที่สุดจากนั้นก็ใหญ่เป็นอันดับสองเป็นต้น ตัวอย่างเช่นใช้เลข 72 ซึ่งเป็น 2 3 3 2 มันมีตัวหาร 1 3^0 · 2^0 2 3^0 · 2^1 3 3^1 · 2^0 4 3^0 · 2^2 6 3^1 · 2^1 8 3^0 · 2^3 9 3^2 · 2^0 12 3^1 · 2^2 18 3^2 · 2^1 24 3^1 · …

8
เฉลี่ยภาพ
นี่คือภาพ: %%%%%%%%%%%%% % Hello, % % world! % %%%%%%%%%%%%% แต่มันก็สับสนเกินกว่าที่สมองของเราจะคำนวณได้ ดังนั้นเราจึงชอบมันโดยเฉลี่ย: แบ่งออกเป็นส่วน 2 x 2 หากภาพสิ้นสุดก่อนที่ส่วนจะสมบูรณ์ให้จินตนาการว่ามีช่องว่างอยู่ หาค่าเฉลี่ยของอักขระ ASCII ในแต่ละส่วน ปัดเศษค่าเฉลี่ยนี้แล้วแปลงเป็นอักขระ ASCII สุดท้ายให้แทนที่อักขระทั้งหมดในส่วนเป็นอักขระเฉลี่ย ทำซ้ำขั้นตอนนี้ทุกส่วน ดังนั้นค่าเฉลี่ยของภาพด้านบนจะเป็นดังนี้: $$>>II99###### $$>>II99###### $$##88KKGG#### $$##88KKGG#### งานของคุณ: เขียนโปรแกรมที่ใช้อิมเมจ ASCII เป็นอินพุตและเอาต์พุตโดยเฉลี่ย หมายเหตุจำนวนเต็มถูกปัดเศษตามฟังก์ชันfloor(x+0.5)หรือฟังก์ชันที่คล้ายกัน - กล่าวอีกนัยหนึ่งคือปัดครึ่งขึ้นไป

8
ฉันต้องการชื่อเสียงมากแค่ไหน?
การเขียนโปรแกรมปริศนาและรหัสกอล์ฟได้จบการศึกษาจากรุ่นเบต้า ในไม่ช้าเราจะได้รับการออกแบบเว็บไซต์ที่กำหนดเองและด้วยขอบเขตของชื่อเสียงสำหรับสิทธิ์จะเพิ่มขึ้น ผู้ใช้จำนวนมากจะสูญเสียสิทธิ์บนไซต์ ดังนั้นงานของคุณคือการเขียนโปรแกรมที่บอกเราว่าเราจะต้องรักษาชื่อเสียงของเราไว้เป็นพิเศษ งาน งานของคุณคือการเขียนรหัสที่สั้นที่สุดเพื่อค้นหาจำนวนชื่อเสียงพิเศษที่ผู้ใช้จะต้องเก็บรักษาสิทธิ์ปัจจุบันของพวกเขาหลังจากการออกแบบเว็บไซต์ตามจำนวนคะแนนชื่อเสียง อินพุต / เอาต์พุต คุณสามารถยอมรับอินพุตและให้เอาต์พุตในแบบที่คุณต้องการตราบใดที่มันเป็นไปตามกฎเหล่านี้: อินพุต - จำนวนเต็มจาก 1 ถึง 250000+ รวม โปรแกรมหรือฟังก์ชั่นของคุณควรจะยอมรับตัวเลขที่มากกว่านี้ได้ แต่จะต้องยอมรับตัวเลขในช่วงนี้ เอาท์พุท - จำนวนเต็มแสดงถึงคะแนนชื่อเสียงที่ผู้ใช้จะต้องได้รับเพื่อรักษาสิทธิ์ปัจจุบันของพวกเขาหลังจากสำเร็จการศึกษา ไม่มีช่องว่างมาตรฐานกรุณา อัลกอริทึมตัวอย่าง ตั้งค่าตัวแปรiเป็นอินพุต ตั้งค่าตัวแปรให้กับตัวแปรri ในขณะที่rไม่อยู่ในรายการbeta: ลบจาก1r ตั้งค่าnไปยังตำแหน่งของในrbeta ตั้งค่าrไปยังรายการของngraduated ตั้งค่าตัวแปรเพื่อผลมาจากการor - i ถ้าo < 0: ตั้งค่าตัวแปรที่จะo0 oตัวแปรเอาท์พุท ตาราง ตารางสิทธิ์ที่จะเปลี่ยนแปลง | privilege name | beta rep | graduation rep | …
23 code-golf  number 

3
วาด hexa-glyph แบบสุ่ม
รูปด้านบนนี้เรียกว่า hexa-glyph Hexa-glyphs เป็นรูปแบบเท่ ๆ ที่ฉันทำขึ้นในขณะที่อยู่ในชั้นเรียน DiffEq นี่คือวิธีการทำ: พิจารณาชุดของคะแนนต่อไปนี้มีรูปร่างเหมือน hexagram ปกติ รูปหกเหลี่ยมด้านในคือสิ่งที่จะมีสัญลักษณ์สุดท้ายในขณะที่ 6 คะแนนด้านนอกก่อตัวดาวฤกษ์และเราจะเริ่มวาดเส้นของเรา จากจุดนอกหกจุดสุ่มเลือกคู่ เพื่อประสิทธิภาพควรมีจุดอื่นอย่างน้อยหนึ่งจุดระหว่างสองจุดที่เลือก (มิฉะนั้นจะไม่มีผลกระทบกับตัวเลขสุดท้าย) จากนั้นแต่ละจุดให้ทำการฉายแสงไปยังอีกจุดหนึ่ง รังสีนี้ถูกบล็อกโดยบรรทัดก่อนหน้า ทำขั้นตอนนี้ซ้ำจนกระทั่งเกิดขอบทั้ง 9 ด้านดังที่แสดงในภาพต่อไป นี่คือตัวอย่างของรังสีที่ถูกบล็อก ปลายของส่วนรังสียังคงมองเห็นได้ แต่ส่วนตรงกลางจะถูกอุดด้วยสองส่วนแรกที่เราวาด รังสีทั้งสองนี้ยัง "ถูกบล็อก" แต่สิ่งนี้ไม่ได้ทำให้เกิดความแตกต่างที่มองเห็นได้เนื่องจากมันถูกปิดกั้นโดยสายอื่น ๆ การส่งต่ออย่างรวดเร็วจนกว่าจะมีการวาดทั้ง 9 บรรทัด หากคุณต้องการคำอธิบายโดยละเอียดเพิ่มเติมของขั้นตอนที่ข้ามเหล่านี้ฉันสามารถอธิบายได้ ในที่สุดลบคะแนนของดาว เพื่อให้ดูสวยขึ้นจุดหนาจะถูกลบออกด้วย ความท้าทาย คุณท้าทายคือการส่งออกการแสดงภาพของ hexa-glyph สุ่ม นี่คือโค้ดกอล์ฟซึ่งเป็นจำนวนไบต์ที่น้อยที่สุดที่ชนะ hexa-glyphs ที่เป็นไปได้ทั้งหมดควรปรากฏขึ้นพร้อมกับความน่าจะเป็นเชิงบวก hexa-glyphs ที่แตกต่างกันถูกสร้างขึ้นโดยการเปลี่ยนลำดับการลากเส้นทั้ง 9 ขอบ นอกจากนี้ภาพทั้งหมดที่ส่งออกโดยโปรแกรมของคุณจะต้องเป็นเลขฐานสิบหกที่ถูกต้อง รูปแบบบางอย่าง (เช่นโครงร่างที่สมบูรณ์ของรูปหกเหลี่ยมด้านใน) อาจไม่ปรากฏเป็นรูปหกเหลี่ยม …

30
palindrome ที่เล็กที่สุดหารด้วยอินพุต
ป.ร. ให้ไว้เป็นจำนวนเต็มบวกNเอาท์พุทจำนวนเต็มบวกที่เล็กที่สุดเช่นว่าจำนวนนี้เป็น palindrome (คือเป็นสิ่งที่ตรงกันข้ามของตัวเอง) Nและหารด้วย palindrome (เช่นการส่งออก) จะต้องไม่จำเป็นต้องมีศูนย์นำจะเป็นประโยคเช่นไม่ได้เป็นคำตอบที่ถูกต้องสำหรับ08016 อินพุตจะไม่เป็นทวีคูณของ 10 เนื่องจากเหตุผลก่อนหน้า โปรแกรมของคุณอาจใช้เวลานานเท่าที่จำเป็นแม้ว่าในทางปฏิบัติมันจะใช้เวลานานเกินกว่าจะตอบคำถามได้ อินพุตและเอาต์พุต คุณสามารถรับอินพุตSTDINเป็นอาร์กิวเมนต์ของฟังก์ชันหรืออะไรก็ได้ที่คล้ายกัน คุณอาจพิมพ์ผลลัพธ์ไปที่STDOUTส่งคืนจากฟังก์ชันหรือสิ่งอื่นที่คล้ายคลึงกัน อินพุตและเอาต์พุตต้องอยู่ในฐานเลขฐานสิบ กรณีทดสอบ N Output 1 1 2 2 16 272 17 272 42 252 111 111 302 87278 1234 28382 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ

9
เรียงลำดับรายการซ้อนกัน
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่เรียงลำดับรายการซ้อนกัน นี่คือกฎสำหรับการเรียงลำดับรายการซ้อนกัน: ลองทำรายการนี้เป็นตัวอย่าง: ((5, 2), 2, 7, (2, 1, (3, 4)), 9) แต่ละองค์ประกอบในรายการนี้มี "ลำดับความสำคัญ" องค์ประกอบนับเป็นตัวเลขหรือรายการย่อย ขั้นแรกรับลำดับความสำคัญของแต่ละองค์ประกอบที่ความลึกเท่ากัน หากองค์ประกอบเป็นเพียงตัวเลขลำดับความสำคัญของมันจะเหมือนกับตัวเอง หากองค์ประกอบเป็นรายการย่อยลำดับความสำคัญของมันคือผลรวมของตัวเลขทั้งหมดในนั้นไม่รวมรายการย่อยใด ๆ ดังนั้นลำดับความสำคัญขององค์ประกอบทั้งหมดของความลึก1คือ: ( 7 ) 2 7 ( 3 ) 9 ((5, 2), 2, 7, (2, 1, (3, 4)), 9) จัดเรียงแต่ละองค์ประกอบตามลำดับความสำคัญ หากมีการเสมอกันคุณจะต้องรักษาลำดับเดียวกันกับรายการเดิม 2 ( 3 ) ( 7 ) 7 9 (2, …

5
เขียนเครื่องคิดเลขมอร์ส
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้นิพจน์ทางคณิตศาสตร์ในรหัสมอร์สเป็นอินพุตและส่งคืนโซลูชันในรหัสมอร์ส การดำเนินการที่ถูกต้องคือบวก: +และลบ: _(ขีดล่าง) คุณสามารถสันนิษฐานได้ว่าคุณจะได้รับอินพุตจำนวนเต็มไม่เป็นลบเท่านั้นและผลลัพธ์จะไม่เป็นลบ นิพจน์จะมีคำอย่างน้อยสองคำและสูงสุดสิบคำ จะไม่มีตัวดำเนินการติดกันสองตัวนั่นคือ.----+_-....และจะไม่มีวงเล็บ ตัวเลขแยกจากกันด้วยช่องว่างเดียว คุณสามารถเลือกให้ตัวดำเนินการแยกออกจากตัวเลขด้วยการเว้นวรรคเดียวในแต่ละด้าน (ดูตัวอย่าง) มอร์สเทียบเท่าตัวเลข 0-9 คือ: 0 ----- 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... 6 -.... 7 --... 8 ---.. 9 ----. ตัวอย่าง: Input Output .----+.---- (1+1=2) Optional input: .---- + .---- ..--- -...._...-- (6-3=3) Optional input: -.... _ …

10
ตัวเลขคอมโพสิตสูง
จำนวนคอมโพสิตสูงเป็นจำนวนเต็มบวกที่มีตัวหารมากกว่าจำนวนเต็มบวกที่มีขนาดเล็กมี นี่คือOEIS ลำดับ A002182 20 คำแรกคือ 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040, 7560 ตัวอย่างเช่น4อยู่ในลำดับเนื่องจากมีตัวหาร 3 ตัว (คือ 1, 2, 4) ในขณะที่ 3 มีเพียง 2 ตัวหารเท่านั้น, 2 ยังมีตัวหาร 2 และ 1 มีตัวหาร 1 ตัว ท้าทาย กำหนดอินพุตจำนวนเต็มบวกnให้เอาต์พุตทั้งตัวเลขคอมโพสิตสูงn -th หรือตัวเลขคอมโพสิตสูงnอันดับแรกตามที่คุณเลือก …

3
เรียงลำดับการจัดอันดับพันธบัตรเหล่านี้
งาน สถาบันจัดอันดับเครดิตให้คะแนนโดยกำหนดที่จะออกพันธบัตรตามเครดิตความคุ้มค่าของผู้ออกหุ้นกู้และ "บิ๊กทรี" หน่วยงานจัดอันดับเครดิตของใช้ที่คล้ายกัน ( แต่ไม่เหมือนกัน) ระบบการให้คะแนนฉัตร คำสั่งเหล่านี้มีคำสั่งที่ชัดเจนและสมเหตุสมผล - โดยใช้ระดับ S&P, AAA> AA +> AA> AA-> A +> ... > BBB> B> ... > C. C. Moody's ใช้ระบบที่คล้ายกัน แต่ตั้งชื่อชั้นต่างกัน ( Aaa> Aa1> Aa2> ... > Baa1> ... > C) งานของคุณคือการออกแบบโปรแกรมที่ใช้เป็นรายการของสตริงที่แสดงระดับการจัดอันดับตราสารหนี้และส่งออกรายการเดียวกันเรียงลำดับจากมากไปหาน้อยจากระดับสูงสุด (AAA / Aaa) ถึงระดับต่ำสุด (C) อินพุต / เอาต์พุต คุณสามารถเลือกรูปแบบของอินพุต (รายการหนึ่งรายการต่ออาร์กิวเมนต์ไฟล์ …

3
Rainbowlify รูปภาพ
ความท้าทายนี้เกี่ยวกับการเปลี่ยนเฉดสีในรูปภาพเพื่อให้ภาพสวยเช่นนี้: ( ต้นฉบับ ) ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มสองจำนวนที่ไม่เป็นลบและรูปภาพในรูปแบบไฟล์ภาพทั่วไปที่คุณเลือก (คุณสามารถพา ธ ไปยังภาพหรือข้อมูลภาพดิบ) เราจะเรียกคนแรกจำนวนเต็มรอบและครั้งที่สองจำนวนเต็มชดเชย นอกจากนี้เราจะกำหนดจุดลอยตัวขั้นตอนเป็น 360 ครั้งรอบstep = 360 * cycles / (image width * image height)แบ่งตามพื้นที่ของภาพหรือ สำหรับแต่ละพิกเซลPในภาพให้ย้ายทีละครั้งจากซ้ายไปขวาจากบนลงล่าง (เช่นในลำดับการอ่านถ้าพิกเซลเป็นตัวอักษร) ให้ทำดังนี้: เพิ่มเฉดสีของPด้วยองศาชดเชย (วนรอบจาก 360 เป็น 0 หากจำเป็น) จากนั้นเพิ่มขึ้นชดเชยโดยขั้นตอน บันทึกแสดงผลหรือส่งออกภาพที่เกิดขึ้นในรูปแบบไฟล์ภาพทั่วไป ขั้นตอนนี้จะเพิ่มขึ้นเพิ่มสีของพิกเซลทั้งหมดในภาพที่ทำให้รอบลูปเต็มรอบรุ้งสีเริ่มต้นโดยการเริ่มชดเชยสีโดยการชดเชย เมื่อรอบเป็น 1 และออฟเซ็ตเป็น 0 เช่นเดียวกับในภาพ Starry Night ข้างบนแถวพิกเซลด้านบนและด้านล่างไม่มีการเปลี่ยนสี แต่ในระหว่างนั้นจะมีวงจรสีเต็มรูปแบบ รายละเอียด รอบสามารถเป็นจำนวนเต็มใด ๆ ที่ไม่เป็นลบได้ แต่คุณอาจคิดว่าออฟเซ็ตนั้นมีค่าตั้งแต่ 0 …

21
นี่เป็นชื่อตัวแปรที่ถูกต้องหรือไม่?
วัตถุประสงค์ เขียนโปรแกรมหรือฟังก์ชั่นที่ตรวจสอบว่าชื่อตัวแปรนั้นถูกต้องและเอาท์พุท 1 หรือTrueถ้ามันถูกต้อง 0.5 ถ้ามันถูกต้อง แต่เริ่มต้นด้วยขีดล่าง (_) และ 0 หรือFalseถ้ามันไม่ถูกต้อง กฎระเบียบ ชื่อตัวแปรในภาษาส่วนใหญ่จะใช้ได้หากเริ่มต้นด้วยเครื่องหมายขีดล่างหรือตัวอักษร (az, AZ, _) และอักขระที่เหลือเป็นตัวอักษรขีดล่างตัวอักษรหรือตัวเลข (az, AZ, 0-9, _) เอาท์พุท 1 หรือTrueถ้าชื่อตัวแปรนั้นถูกต้องและ 0 หรือFalseถ้าไม่ถูกต้อง อย่างไรก็ตามการเริ่มต้นตัวแปรด้วยเครื่องหมายขีดล่างไม่ใช่วิธีที่ดีดังนั้นให้ส่งคืน 0.5 หากเริ่มต้นด้วยเครื่องหมายขีดล่างและชื่อนั้นถูกต้อง กรณีทดสอบ อินพุต abcdefghijklmnop เอาท์พุต 1 อินพุต _test_ เอาท์พุต 0.5 (เริ่มต้นด้วยเครื่องหมายขีดล่าง) อินพุต 123abc เอาท์พุต 0 (เริ่มต้นด้วยตัวเลข) อินพุต A_b1C_23 เอาท์พุต 1 อินพุต _! …
23 code-golf  string 

13
ออกจากรัง
ให้ลิสต์ของจำนวนเต็มแบบไม่แบนเอาท์พุทลิสต์ของรายการที่มีจำนวนเต็มในแต่ละระดับการซ้อนเริ่มต้นด้วยระดับที่ซ้อนกันน้อยที่สุดโดยมีค่าตามลำดับดั้งเดิมในรายการอินพุตเมื่ออ่านจากซ้ายไปขวา หากรายการสองรายการขึ้นไปอยู่ในระดับการซ้อนเดียวกันในรายการอินพุตรายการเหล่านั้นควรรวมกันเป็นรายการเดียวในเอาต์พุต เอาต์พุตไม่ควรมีรายการว่างใด ๆ - ระดับการซ้อนที่มีเฉพาะรายการควรถูกข้ามทั้งหมด คุณอาจจะคิดว่าเลขที่มีทั้งหมดใน (รวม) [-100, 100]ช่วง ไม่มีความยาวสูงสุดหรือความลึกการซ้อนสำหรับรายการ จะไม่มีรายการว่างในอินพุต - ทุกระดับการซ้อนจะมีจำนวนเต็มหรือรายการอย่างน้อยหนึ่งรายการ อินพุตและเอาต์พุตต้องอยู่ในรายการ / อาร์เรย์ / enumerable / iterable / etc ในภาษาของคุณ รูปแบบหรือในรูปแบบที่สมเหตุสมผลและชัดเจนใด ๆ หากภาษาของคุณไม่มีประเภทของลำดับ ตัวอย่าง [1, 2, [3, [4, 5], 6, [7, [8], 9]]] => [[1, 2], [3, 6], [4, 5, 7, 9], [8]] [3, 1, [12, …

20
ความเท่าเทียมกันในผลรวมของตัวเลข
บทนำ 180ลองมาจำนวน นี่เป็นตัวเลขที่น่าสนใจเพราะผลรวมของตัวเลขของจำนวนนี้เท่ากับ: 1 + 8 + 0 = 9 และเลขยกกำลังสองของตัวเลขนี้หรือ: 180² = 32400 > 3 + 2 + 4 + 0 + 0 = 9 เหล่านี้มีทั้ง9 ผลรวมของตัวเลขของหมายเลขเดิมและหมายเลขกำลังสองเหมือนกัน ของหลักสูตรนี้ยังพบที่ OEIS: A058369 งาน ให้เป็นจำนวนเต็มไม่ลบnส่งออกจำนวนบวกn th กับเงื่อนไขนี้ กรณีทดสอบ ( ไม่มีดัชนี ) Input > Output 0 > 1 1 > 9 2 > …

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