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

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

8
ช่วยภรรยาคลั่งไคล้ของฉันตกแต่งต้นคริสต์มาสของเรา
ภรรยาของฉันเป็นอย่างมากโดยเฉพาะอย่างยิ่งเมื่อมันมาถึงการใส่เครื่องประดับบนต้นคริสต์มาสของเรา ให้เธอได้รหัสเพื่อช่วยเธอในเวลานี้ลอง อินพุต ให้2 < n < 10ความสูงของต้นไม้และ0 < k < nจำนวนเครื่องประดับที่แตกต่างกัน งาน ตกแต่งต้นไม้ที่เริ่มต้นด้วย1และเพิ่มขึ้นในkขณะที่เราห่อเครื่องประดับรอบ ๆ ต้นไม้ ถ้าเราไปถึงkและเรามีสาขาให้ตกแต่งมากขึ้นจากนั้นเริ่มต้น1ใหม่ มันก็โอเคถ้าเครื่องประดับแต่ละชิ้นมีจำนวนไม่เท่ากันบนต้นไม้ตราบใดที่รูปแบบพอใจ เครื่องประดับควรปรากฏขึ้นเหนือแต่ละสาขา^ยกเว้นแถวบนสุด ต้นไม้มีโครงสร้างโดยเริ่มต้นจากหนึ่งสาขาจากนั้นระดับถัดไปจะมี +1 สาขาด้วยช่องว่างระหว่างกันโดยแยกจากด้านบนดังนี้: ^ ^ ^ สำหรับแถวที่สามคุณจะต้องเพิ่มอีกหนึ่งสาขาและซวนเซพวกเขาอีกครั้งโดยที่ไม่มีสาขาอยู่ในคอลัมน์เดียวกัน (ถ้าคุณคิดว่ามันเหมือนกริด) ^ ^ ^ ^ ^ ^ เอาท์พุต เอาท์พุทต้นไม้ที่ตกแต่งของคุณ ตัวอย่าง 1 n = 3, k = 2 ^ //Height is 3 ^ ^ ^ …

11
แสดง xkcd
xkcd เป็นคอมมิคที่ทุกคนชื่นชอบและคุณจะเขียนโปรแกรมที่จะนำอารมณ์ขันมาให้พวกเราทุกคน วัตถุประสงค์ของคุณในการท้าทายนี้คือการเขียนโปรแกรมซึ่งจะใช้ตัวเลขเป็นอินพุตและแสดงว่า xkcd และหัวเรื่อง - ข้อความ (ข้อความ mousover) อินพุต โปรแกรมของคุณจะใช้จำนวนเต็มบวกเป็นอินพุต (ไม่จำเป็นต้องมีหนึ่งตัวที่มีการ์ตูนที่ถูกต้อง) และแสดงว่า xkcd: ตัวอย่างอินพุต 1500 ควรแสดงการ์ตูน "Upside-Down Map" ที่ xkcd.com/1500 จากนั้นพิมพ์ข้อความชื่อเรื่องลงในคอนโซลหรือแสดงด้วยภาพ Due to their proximity across the channel, there's long been tension between North Korea and the United Kingdom of Great Britain and Southern Ireland. กรณีทดสอบ 2 สำหรับ n …

24
หมายเลขไบนารีที่ซับซ้อน
ลองสร้างการแม็พแบบง่าย ๆ ที่ครอบคลุมจากจำนวนเต็มบวกกับจำนวนเต็มแบบเกาส์ซึ่งเป็นจำนวนเชิงซ้อนที่ส่วนจริงและจินตภาพเป็นจำนวนเต็ม ตัวอย่างเช่นกำหนดจำนวนเต็มบวกให้4538แสดงเป็นเลขฐานสองโดยไม่มีส่วนนำ0ของ: 4538 base 10 = 1000110111010 base 2 ลบการติดตามใด ๆ0: 100011011101 แทนที่การวิ่งอย่างน้อยหนึ่งครั้งด้วยการวิ่ง0ครั้งเดียว+: 1+11+111+1 แทนที่ทั้งหมด1ด้วยi's: i+ii+iii+i ประเมินการแสดงออกที่ซับซ้อนที่เกิดขึ้นและส่งออกจำนวนเต็ม Gaussian ที่ง่ายขึ้น: i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i เอาต์พุตสามารถแสดงในรูปแบบทางคณิตศาสตร์แบบดั้งเดิมหรือกำหนดเป็นจำนวนเต็มสองจำนวนแยกกันสำหรับชิ้นส่วนจริงและซับซ้อน สำหรับ4538ตัวอย่างสิ่งเหล่านี้จะใช้ได้: -1+i i-1 -1+1i (-1, 1) -1 1 -1\n1 สำหรับปัจจัยการผลิตที่ชอบ29, เอาท์พุทจัดรูปแบบ Mathy เช่น0, 0iหรือ0+0iจะมีการปรับทั้งหมด การใช้j(หรืออย่างอื่น) แทนiก็ใช้ได้ถ้ามันเป็นเรื่องธรรมดาสำหรับภาษาของคุณ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

14
ค้นหาคำอนันต์!
(หมายเหตุ: นี่เป็นการแยกส่วนจากการท้าทายครั้งก่อนของฉันค้นหาคำที่หมุนวน! ) คำจำกัดความของInfinity Word : หากคุณเชื่อมต่อกับเส้นโค้งของตัวละครทั้งหมดของInfinity Wordบนตัวอักษร (AZ) คุณจะได้รับสัญลักษณ์อินฟินิตี้∞เช่นในแผนภาพด้านล่าง การเชื่อมต่อที่สม่ำเสมอทั้งหมดจะต้องหยุดทำงานการเชื่อมต่อคี่ทั้งหมดต้องขึ้น คุณสามารถละเว้นตัวพิมพ์ใหญ่ / ตัวพิมพ์เล็กหรือพิจารณา / แปลงทั้งหมดเป็นตัวพิมพ์ใหญ่หรือทั้งหมดเป็นตัวพิมพ์เล็ก คำที่ป้อนเป็นอักขระในช่วงตัวอักษรของ AZ ไม่มีช่องว่างไม่มีเครื่องหมายวรรคตอนหรือสัญลักษณ์ แต่ละคำจะต้องมีความยาว 5 ตัวอักษร คำ> 5 หรือ <5 ไม่ถูกต้อง หากคำมีอักขระซ้อนกันสองคำคำนั้นไม่ถูกต้องเช่น "FLOOD" หรือ "QUEEN" คำอนันต์ทั้งหมดเริ่มต้นและจบด้วยตัวละครเดียวกัน นี่คือตัวอย่างบางส่วน: งาน: เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่จะใช้คำจากอินพุตมาตรฐานและจะส่งออกถ้าเป็นInfinity Wordหรือไม่ เอาต์พุตสามารถเป็นจริง / เท็จ, 1/0, 1 / Null ฯลฯ กรณีทดสอบ: Infinity Words: ALPHA, EAGLE, HARSH, …
36 code-golf  string 

30
รหัสบันไดตำรวจ
หมายเหตุ: ความท้าทายนี้เสร็จสิ้นแล้ว ผลงานที่ส่งยังคงยินดี แต่ไม่สามารถชนะได้ นี่คือด้ายของตำรวจ ด้ายโจรที่นี่ 1เขียนโค้ดที่ผลจำนวนเต็ม หากคุณเพิ่มลบหรือแทนตัวอักษรหนึ่ง (ที่คุณเลือก) 2รหัสควรเอาท์พุทจำนวนเต็ม เปลี่ยนตัวละครตัวหนึ่งมากขึ้น (ที่เหมือนกันหรืออื่น) 3และรหัสที่ควรเอาท์พุท ทำต่อไปเช่นนี้เท่าที่จะทำได้ แต่สูงสุด 10 รูปแบบเอาต์พุตเริ่มต้นเช่นans = 1ได้รับการยอมรับ คุณสามารถละเว้นเอาต์พุตไปที่ STDERR (หรือเทียบเท่า) คุณต้องเปิดเผยภาษานับไบต์ของรหัสเริ่มต้นของคุณจำนวนเต็มที่ใช้งานได้รวมถึงตัวเลือกจำนวนอักขระของรหัสเริ่มต้น หมายเหตุ: คุณไม่จำเป็นต้องเปิดเผยตัวละครใด ๆ แต่โปรดจำไว้ว่าการเปิดเผยตัวละครอาจทำให้โจรปล้นได้ยากขึ้นเพราะพวกเขาจะต้องใช้ตัวละครเดียวกันในตำแหน่งเดียวกัน คุณสามารถเลือกอักขระที่คุณใช้เพื่อแสดงถึงอักขระที่ยังไม่ได้เปิดเผย (ตัวอย่างเช่นขีดล่าง) แต่ให้แน่ใจว่าได้ระบุ ตำรวจสามารถให้รหัสที่ไม่ได้ติดตามหลังจากผ่านไปหนึ่งสัปดาห์และเรียกการส่งว่า "ปลอดภัย" การส่งที่ชนะจะเป็นการส่งที่ไม่ได้ติดตามที่สั้นที่สุดที่สร้างหมายเลข 10 หากไม่มีการส่งที่ไม่ได้ติดตามที่สามารถพิมพ์ 10 รหัสที่สั้นที่สุดที่สร้าง 9 จะชนะและอื่น ๆ โปรดทราบว่าโจรไม่จำเป็นต้องทำการเปลี่ยนแปลงเช่นเดียวกับคุณและพวกเขาไม่จำเป็นต้องทำซ้ำรหัสที่แน่นอน (เว้นแต่คุณจะเปิดเผยตัวละครทั้งหมด) พวกเขาจะต้องทำซ้ำเอาท์พุท ส่งผลงานหลังจากวันที่ 24 พฤศจิกายน แต่ก็ไม่มีสิทธิ์ได้รับชัยชนะ (เพราะมีแนวโน้มว่าจะมีโจรน้อยลง) โพสต์ตัวอย่าง: โพสต์ต่อไปนี้เป็นการส่งในภาษาMyLangมันมีความยาว …

14
การเพิ่มรหัสสีเทา
บทนำ สีเทารหัสเป็นทางเลือกแทน binary ซึ่งจำนวนจะเพิ่มขึ้นด้วยการสลับเพียงหนึ่งบิตมากกว่าตัวแปรจำนวนบิต นี่คือรหัสสีเทาบางส่วนพร้อมกับทศนิยมและเลขฐานสองของพวกเขา: decimal | binary | gray ------------------------- 0 | 0 | 0 ------------------------- 1 | 1 | 1 ------------------------- 2 | 10 | 11 ------------------------- 3 | 11 | 10 ------------------------- 4 | 100 | 110 ------------------------- 5 | 101 | 111 ------------------------- 6 | 110 …

19
การหมุนของ Chebyshev
พิจารณากริดปกติที่แต่ละเซลล์มีพิกัดจำนวนเต็ม เราสามารถจัดกลุ่มเซลล์ให้เป็น "วงแหวน" ที่มีรูปทรงสี่เหลี่ยมโดยที่เซลล์ในแต่ละวงแหวนมีระยะทาง Chebyshevเท่ากัน(หรือระยะทางกระดานหมากรุก) จากจุดกำเนิด งานของคุณคือการประสานงานเซลล์ดังกล่าวและหมุนเซลล์นั้นโดยตำแหน่งหนึ่งทวนเข็มนาฬิกาภายในแหวนของมัน ใช้การแมปต่อไปนี้: ดังนั้นสำหรับตัวอย่างเช่นถ้าใส่เป็นคุณควรเอาท์พุท(3, -2) (3, -1)โปรดทราบว่า(0, 0)เป็นอินพุตเดียวที่ควรจับคู่กับตัวเอง กฎระเบียบ รูปแบบ I / O นั้นค่อนข้างยืดหยุ่น คุณสามารถใช้ตัวเลขสองตัว, คู่ / รายการ / อาร์เรย์ / ทูเปิลของตัวเลข, จำนวนเชิงซ้อนเดียว, สตริงที่มีตัวเลขสองตัวเป็นต้น -128 < x,y < 128คุณอาจจะคิดว่า คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ (0, 0) => (0, 0) (1, 0) …

30
EvenSt-ring C ode - g ol! f
'Even string' คือสตริงใด ๆ ที่พาริตี้ของค่า ASCII ของตัวละครสลับกันอยู่เสมอ ตัวอย่างเช่นสายอักขระEvenSt-ring$!นั้นเป็นเลขคู่เนื่องจากค่า ASCII ของอักขระคือ: 69 118 101 110 83 116 45 114 105 110 103 36 33 และความเท่าเทียมกันของตัวเลขเหล่านี้คือ: Odd Even Odd Even Odd Even Odd Even Odd Even Odd Even Odd ซึ่งเป็นการสลับตลอดทาง อย่างไรก็ตามสายเช่นHello world!เป็นไม่สตริงแม้เนื่องจากค่า ASCII คือ: 72 101 108 108 111 32 87 111 …
36 code-golf  string 

20
คำนวณฟังก์ชัน Carmichael
คำอธิบายงาน ในทฤษฎีจำนวนที่ฟังก์ชั่นคาร์ไมเคิ λใช้เวลาเป็นจำนวนเต็มบวก nและผลตอบแทนน้อยจำนวนเต็มบวกkเพื่อให้kอำนาจ -th ของแต่ละจำนวนเต็มcoprimeเพื่อnเท่ากับ 1 โมดูโลn ป.ร. ให้ไว้เป็นจำนวนเต็มบวกn , การแก้ปัญหาของคุณจะต้องคำนวณλ (n) รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ โปรแกรมของคุณควรทำงานในเชิงทฤษฎีสำหรับอินพุตที่มีขนาดใหญ่โดยพลการ แต่ไม่จำเป็นต้องมีประสิทธิภาพ เคล็ดลับ ลำดับของทุกλ (n)เป็นOEIS A002322 การใช้งาน Python ที่ไม่ได้รับความนิยมจะมีลักษณะเป็น from fractions import gcd def carmichael(n): coprimes = [x for x in range(1, n) if gcd(x, n) == 1] k = 1 while not all(pow(x, k, n) …

23
การนับแพะเข้าสู่โหมดสลีป
บางคนนับแกะเพื่อนอน คนอื่นนับแพะ เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวก N และส่งออกแพะ N-1 ที่ตื่นขึ้นมาแล้วตามด้วยแพะหลับหนึ่งตัวราวกับว่ามีคนกำลังนับ N แพะและในที่สุดพวกมันก็ผล็อยหลับไป ตื่นตัวเหมือนแพะ: \ ___/o> -(___)" '' '' แพะที่กำลังนอนหลับมีลักษณะเช่นนี้: \ ___/-> ,(___)" `` `` พวกมันถูกล่ามโซ่ไว้ด้วยกันโดยมีช่องว่างเดียวระหว่างเคราและหางแพะที่อยู่ติดกัน: \ \ \ ___/o> ___/o> ___/-> -(___)" -(___)" ,(___)" '' '' '' '' `` `` เอาต์พุตได้รับอนุญาตให้มีช่องว่างต่อท้ายและบรรทัดใหม่ต่อท้ายเดียว รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง N = 1: \ ___/-> ,(___)" `` `` N = …

13
รูปภาพของเพื่อนเก่าในงานศิลปะ ASCII
ฉันหวังว่ารูปนี้จะคุ้นเคยกับคุณ มันเป็นหนึ่งในPacmanผีในเขารัฐ 'ความเสี่ยง'หลังจาก Pacman ได้กินยาพลังงาน ความท้าทาย นึกภาพผีของเราในกรอบเล็ก ๆ โดยใช้ศิลปะ ASCII ในระดับปกติ (เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง) แต่ละตารางในภาพด้านบนควรตรงกับตัวละครตัวหนึ่งและกรอบควรมีการแยกตัวละครหนึ่งตัวขึ้นและลงและตัวแยกสองตัวไปทางซ้ายและขวาของผี : #################### # # # #### # # ######## # # ########## # # ############ # # ############ # # ### ## ### # # #### ## #### # # ############## # # ############## # # ## …

25
ขยายอาร์เรย์ C
ในภาษาการเขียนโปรแกรม C มีการกำหนดอาร์เรย์ดังนี้: int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6 ขนาดของอาร์เรย์ถูกอนุมานจากองค์ประกอบการเริ่มต้นซึ่งในกรณีนี้คือ 6 คุณยังสามารถเขียนอาร์เรย์ C ด้วยวิธีนี้ปรับขนาดอย่างชัดเจนแล้วกำหนดขนาดองค์ประกอบตามลำดับ int foo[6]; //Give the array an explicit size of 6 foo[0] = 4; foo[1] = 8; foo[2] = 15; foo[3] = 16; foo[4] = 23; foo[5] …
36 code-golf  string  parsing  c 

30
ทำเหรียญที่ยุติธรรม
คุณมีเหรียญที่ผลิตหรือ0 1แต่คุณสงสัยว่าเหรียญอาจมีอคติหมายความว่าความน่าจะเป็นของ0(หรือ1) ไม่จำเป็นต้อง 1/2 ที่รู้จักกันดีขั้นตอนที่จะ "เปลี่ยน" เหรียญลำเอียงเป็นเหรียญที่เป็นธรรม (คือเพื่อให้ได้ผลเท่ากัน) ที่เสนอโดยฟอนนอยมันน์เป็นดังนี้ สร้างบล็อก (ไม่ทับซ้อนกัน) ของสองเหรียญโยนจนกว่าทั้งสองค่าของบล็อกจะแตกต่างกัน และส่งออกค่าแรกในบล็อกนั้น (ค่าที่สองจะทำเช่นกัน แต่สำหรับวัตถุประสงค์ของการท้าทายนี้เราเลือกแรก) โดยสังหรณ์ใจ1อาจมีแนวโน้มมากกว่า0แต่01และ10จะมีโอกาสเท่ากัน ตัวอย่างเช่นอินพุต1110...จะยกเลิกบล็อกแรกจากนั้นสร้าง1บล็อกจากบล็อกที่สอง ... ขั้นตอนนี้มีราคาแพงเนื่องจากมีการใช้การทอยเหรียญหลายครั้งเพื่อสร้างผลลัพธ์เดียว ความท้าทาย ใช้ลำดับเลขศูนย์และจำนวนเต็มแทนการโยนเหรียญเดิมและสร้างผลลัพธ์จำนวนสูงสุดตามขั้นตอนข้างต้นจนกว่าจะหมดการป้อนข้อมูลทั้งหมด บล็อกสุดท้ายอาจไม่สมบูรณ์ถ้าจำนวนค่าอินพุตเป็นเลขคี่ ตัวอย่างเช่นลำดับการป้อนข้อมูล11111จะไม่สร้างผลลัพธ์ (บล็อกสองรายการแรกมีค่าเท่ากันและบล็อกที่สามไม่สมบูรณ์) กฎระเบียบ อินพุตสามารถมีจำนวนของค่าที่ไม่เป็นลบได้ไม่จำเป็นต้องเป็นค่าบวกหรือแม้แต่ รูปแบบอินพุตอาจเป็น: อาเรย์ของศูนย์และคน; สตริงของศูนย์และคนที่มีตัวคั่นตัวเลือก รูปแบบผลลัพธ์อาจเป็น: สตริงของศูนย์และคนที่มีหรือไม่มีตัวคั่น; อาเรย์ของศูนย์และคน; สตริงที่มีศูนย์หรือหนึ่งเดียวคั่นด้วยขึ้นบรรทัดใหม่; รูปแบบที่สมเหตุสมผลและเหมาะสมกับภาษาของคุณ รหัสกอล์ฟ ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ กรณีทดสอบ อินพุตและเอาต์พุตอยู่ที่นี่เพื่อถือว่าเป็นสตริง Input --> Output '1110' --> '1' '11000110' --> '01' '1100011' --> '0' …

30
Fibonacci-Orial
คำนิยาม ลำดับ Fibonacci F(n)บนจำนวนเต็มบวกถูกกำหนดดังนี้: 1. F(1) = 1 2. F(2) = 1 3. F(n) = F(n-1) + F(n-2), where n is an integer and n > 2 ฟีโบนักชี-Orial [F(1), F(2), ..., F(n)]ของจำนวนเต็มบวกเป็นผลิตภัณฑ์ของ งาน ได้รับจำนวนเต็มบวกnหา Fibonacci-Orial nของ รายละเอียด fibonacci-orial ของ100ต้องคำนวณภายใน 5 วินาทีบนคอมพิวเตอร์ที่เหมาะสม Testcases n Fibonacci-orial of n 1 1 2 1 …

27
สร้างเครื่องเมตรอนอม
บทนำ เมื่อหลายวันก่อนฉันต้องการเครื่องเมตรอนอมสำหรับบางอย่าง ฉันไม่มีที่ว่างดังนั้นฉันจึงดาวน์โหลดแอพจาก App Store แอพนี้มีขนาด 71 MB !!! 71 MB สำหรับการทำ tic-toc ... ?! ดังนั้นรหัส - กอล์ฟเข้ามาในใจของฉันและฉันสงสัยว่าพวกคุณบางคนสามารถปรับปรุงสิ่งนี้ได้ไหม ท้าทาย กอล์ฟรหัสบางอย่างที่ส่งเสียงบางอย่าง มันค่อนข้างไม่เกี่ยวข้องเลยว่าเสียงแบบไหน หากจำเป็นต้องสร้างไฟล์เสียงบางส่วน ... แต่เสียงบี๊บของระบบจะทำงานเช่นกัน ( นี่คือเสียงที่ฉันสร้างขึ้น ... ไม่มีอะไรพิเศษ ) อินพุต : จังหวะต่อนาทีของเอาต์พุตเครื่องเมตรอนอม ตัวอย่าง นี่เป็นเวอร์ชั่น Java ที่ไม่ใช่กอล์ฟ! มันเป็นเพียงการแสดงให้คุณเห็นงาน public class Metronome { public static void main(String[] args) throws InterruptedException { int …
36 code-golf  music  audio 

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