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

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

8
Codegolf Penrose Triangle
สามเหลี่ยมเพนโรสยังเป็นที่รู้จักในฐานะ tribar เพนโรสหรือ tribar เป็นไปไม่ได้เป็นวัตถุเป็นไปไม่ได้ เป้าหมายในการท้าทายนี้คือการแสดงสามเหลี่ยมเพนโรสในไม่กี่ไบต์ที่เป็นไปได้ ที่มา: Wikipedia กฎ: คุณต้องแสดงสามเหลี่ยม Penrose แบบดิจิทัลหลังจากสร้างมัน พวกเขาจะต้องดูเหมือนกับภาพด้านบนของหน้า wiki (แหล่งที่มาด้านบน) โดยไม่ต้องแสดงภาพโดยตรง ภาพเดียวกันที่มีชุดรูปแบบสีเดียวกันจะต้องแสดงในขนาดอย่างน้อย 400x400 ควรแม่นยำที่สุดเท่าที่จะทำได้ ขอให้โชคดีและสนุก!

16
ตัวเลขที่เพิ่มขึ้น
งานนี้ค่อนข้างง่ายและใช้ประโยชน์จากอักขระ "โอเปอเรเตอร์" สามตัว งานของคุณจะได้รับลำดับที่เรียบง่ายของตัวอักษรดำเนินงานต่อไปนี้การเข้ารหัสโดยใช้<, ,> *คุณอาจเลือกที่จะใช้ตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้โดยที่คุณไม่ต้องใช้ทั้งสองตัว คำอธิบายการเข้ารหัส รหัสลับนั้นง่ายคุณกำลังใช้การดำเนินการเพิ่มและลดเพื่อสำรวจจากตัวอักษร 1 ถึงตัวอักษรท้ายโดยใช้*ฟังก์ชัน "ส่ง" ของคุณ ผู้ประกอบการสำหรับ "เพิ่มขึ้น" จะเป็น>และ "พร่อง" <จะเป็น ตัวอย่างการใช้คำว่าadbc: เริ่มด้วยตัวอักษรตัวแรกของคำเอาท์พุทตัวอักษรนั้น a ถัดไปใช้>และ<(เช่น brainfuck) เพื่อ "นำทาง" ตัวอักษรปัจจุบันไปยังตัวถัดไป a>จะส่งผลให้ 'ยก' aโดยที่ 1 bไปยังตัวอักษรa<จะส่งผลให้zเนื่องจากคุณลดจดหมาย (มันตัดคุณจะต้องเลือกทิศทางที่ทำให้เกิดการดำเนินงานจำนวนน้อยที่สุด) หลังจากแสดงชุดค่าผสมที่น้อยที่สุดที่ถูกต้องของ<และ>เอาท์พุท a *เพื่อแสดงว่าเราได้มาถึงตัวอักษรถัดไป ขั้นตอนในการเข้ารหัสadbcจะเป็น: a # a a>>>* # ad a>>>*<<* # adb a>>>*<<*>* # adbc ตัวอย่าง ขั้นตอนในการเข้ารหัสazaจะเป็น: a …
19 code-golf  cipher 

16
Mod the Floats!
ซอฟต์แวร์การสร้างแบบจำลอง 3 มิติส่วนใหญ่ใช้การทำแผนที่ UVเพื่อทำแผนที่พื้นผิวไปยังวัตถุ 3 มิติ ค่าที่ถูกต้องสำหรับทั้ง U และ V มักจะอยู่ใน[0..1]ช่วงรวม ท้าทาย คุณซื้อซอฟต์แวร์การสร้างแบบจำลอง 3 มิติใหม่ซึ่งใช้งานง่ายสุด ๆ อย่างไรก็ตามมีปัญหาหนึ่งเรื่อง: เพิ่มหรือลบหมายเลขจำนวนเต็มแบบสุ่มจากค่า UV งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ปรับเปลี่ยนค่าอินพุตเพื่อรับค่าทศนิยมใน[0..1]ช่วงรวม ทุ่นที่เกิดขึ้นควรมีส่วนที่เป็นเศษส่วนเหมือนกับของจริงและใกล้เคียงกับของจริงมากที่สุด เนื่องจากทั้งคู่0และ1อยู่ในช่วงเอาต์พุตจำนวนเต็มใด ๆ 0 หรือน้อยกว่าควรเปลี่ยนเป็น 0 และจำนวนเต็ม 1 หรือมากกว่านั้นควรเปลี่ยนเป็น 1 อัลกอริทึมตัวอย่างใน JavaScript: function modFloat(input) { while (input < 0 || input > 1) { if (input < 0) input += …
19 code-golf 

4
เคล็ดลับสำหรับการเล่นกอล์ฟใน Brachylog
Brachylogเป็นภาษาที่เริ่มมีชื่อเสียงมากขึ้นในการเขียนโค้ดกอล์ฟ (และเพิ่งได้รับการอัปเดตครั้งใหญ่พร้อมกับไวยากรณ์ของผู้ใช้ซ้ำ) เช่นเดียวกับ Prolog มันมีข้อดีที่มักจะสามารถแก้ปัญหาได้ (โดยทั่วไปผ่านการใช้กำลังดุร้าย) จากคำอธิบายที่ถูกต้องอย่างพอเพียงว่าลักษณะของปัญหานั้นเป็นคุณลักษณะที่หมายความว่าในการท้าทายที่ถูกต้อง ภาษากอล์ฟชั้นนำ (และเป็นที่รู้จักกันว่าเอาชนะเจลลี่เป็นครั้งคราว) คุณมีเคล็ดลับอะไรสำหรับการเล่นกอล์ฟ (เช่นการเขียนโปรแกรมที่สั้นที่สุดที่เป็นไปได้) Brachylog นี่คือการมองหาคำแนะนำที่เฉพาะเจาะจงกับ Brachylog โดยเฉพาะมากกว่าคำแนะนำที่ใช้กับภาษาที่หลากหลาย (เคล็ดลับเกี่ยวกับการเล่นกอล์ฟในภาษาที่ประกาศโดยทั่วไปอาจมีความเหมาะสมที่นี่ขึ้นอยู่กับจำนวนแอปพลิเคชันที่พวกเขาจะต้องใช้กับภาษาอื่นที่นอกเหนือจาก Brachylog แม้ว่าจะดูเคล็ดลับสำหรับการเล่นกอล์ฟใน Prologด้วย)
19 code-golf  tips 

23
ช่วยเจ้ามือสร้างดาดฟ้าใหม่
ดีลเลอร์เลอะเทอะและหลงทางว่ามีการ์ดในเด็คของเขาอยู่และการ์ดใดหายไปคุณสามารถช่วยเขา / เธอได้หรือไม่? สำรับสมบูรณ์ประกอบด้วยไพ่ 52 ใบ ได้แก่ : แต่ละสีในเด็ค (หัวใจ, เพชร, โพดำ, คลับ) ประกอบด้วย: ตัวเลข [2 - 10] แจ็ค ราชินี กษัตริย์ เอซ งาน โปรแกรมของคุณจะอ่านเนื้อหาของสำรับจาก STDIN จนกว่าจะมีการอ่านบรรทัดใหม่ คุณสามารถสันนิษฐานได้ว่าอินพุตจะอยู่ในรูปของ "nX nX nX nX" ฯลฯ โดยที่: n - ตัวเลขใด ๆ ระหว่าง [2 - 10] หรือ 'J', 'Q', 'K' หรือ 'A' (คุณสามารถใช้ตัวอักษรพิมพ์ใหญ่สำหรับอักขระที่ไม่ใช่ตัวเลขเท่านั้น) X - …
19 code-golf 

12
ปัจจัยแอนนาแกรม
ในตอนล่าสุดของQI , 5 ทวีคูณแรกของ 142857 ถูกอธิบายว่าเป็นภาพของตัวเลขดั้งเดิม แน่นอนว่าใครก็ตามที่มีความรู้มากกว่าจำนวนที่ผ่านมานั้นจะรู้ว่าตัวเลขเหล่านั้นเป็นวัฏจักรจริง ๆ ไม่ใช่แค่แอนนาแกรม แต่นั่นทำให้ฉันคิด โปรดเขียนโปรแกรมหรือฟังก์ชั่นที่แสดงผลตัวเลขหกหลักหรือน้อยกว่าทั้งหมดซึ่งมีปัจจัยที่เหมาะสมที่เป็นแอนนาแกรมของตัวเอง รายการควรเริ่มต้นด้วยหมายเลขต่อไปนี้: 3105 (divisible by 1035) 7128 (divisible by 1782) 7425 (divisible by 2475) 8316 (divisible by 1386) 8712 (divisible by 2178) 9513 (divisible by 1359) 9801 (divisible by 1089) หากคุณต้องการคุณสามารถค้นหาตัวเลขที่มีแอนนาแกรมซึ่งเป็นปัจจัยที่เหมาะสมของตัวเลข แต่ระวังที่จะไม่รวมศูนย์นำหน้าจากแอนนาแกรมของคุณ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ที่ไม่มีช่องโหว่มาตรฐานชนะ

30
ทำให้ฉันเป็นอีก!
ทำให้ฉันเป็นอีก ! ฉันบอกความกว้างจำนวนเกรแฮมแครกเกอร์ปริมาณช็อคโกแลตและปริมาณมาร์ชเมลโล่ ตัวอย่าง: การป้อนข้อมูล: ความกว้าง: 10 เกรแฮม: 3 ช็อคโกแลต: Marshmallow:2 1 เอาท์พุท: GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG CCCCCCCCCC CCCCCCCCCC MMMMMMMMMM GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG มันง่ายใช่ไหม อืมใช่ โปรดทราบว่าการป้อนข้อมูลควรเป็นรายการของการขัดแย้งกับฟังก์ชั่นหรือโปรแกรมไม่ใช่สตริง คุณอาจเลือกความกว้างก่อนจากนั้นก็เกรแฮม แต่คำสั่งใดก็ได้ กรณีทดสอบแบบเต็มหากคุณสนใจ ตัวอย่างสแต็ก (สำหรับการทดสอบ ฯลฯ ) นี่คือการทดสอบผลลัพธ์ var smore = function(width, graham, chocolate, marshmallow){ return ("G".repeat(width) + "\n").repeat(graham) + ("C".repeat(width) + "\n").repeat(chocolate) + ("M".repeat(width) …

8
ขอให้คุณเหนื่อยอ่อนคนจนฝูงอันโหยหาที่จะหายใจได้ฟรี
แผ่นป้ายสำริดในฐานของอนุสาวรีย์เทพีเสรีภาพแสดงบทกวี " The New ยักษ์ใหญ่ " โดยเอ็มม่าลาซารัสส่วนที่อ่าน: ให้ฉันเหนื่อยยากจนของ ฝูง huddled ของคุณโหยหาที่จะหายใจฟรี ปฏิเสธอนาถของฝั่งกำเนิดของคุณ ส่งคนจรจัดที่วุ่นวายให้ฉัน ฉันยกโคมไฟของฉันไปที่ประตูทอง! ในการทำให้บทกวีในส่วนนี้ง่ายขึ้นสำหรับความท้าทายนี้เราจะทำทุกอย่างให้เป็นตัวพิมพ์ใหญ่และแทนที่บรรทัดใหม่ด้วยเครื่องหมายทับ ( /) โดยใช้เครื่องหมายจุลภาคและเครื่องหมายวรรคตอนอื่น ๆ ดังนี้: GIVE ME YOUR TIRED, YOUR POOR,/YOUR HUDDLED MASSES YEARNING TO BREATHE FREE,/THE WRETCHED REFUSE OF YOUR TEEMING SHORE./SEND THESE, THE HOMELESS, TEMPEST-TOST TO ME,/I LIFT MY LAMP BESIDE THE GOLDEN …

30
การนับในไบนารี nybbles
ความท้าทายนี้คือการส่งออกไปยังอาคาร, หน้าต่าง, ผ้าใบหรือหน้าจอตัวเลขรวมถึง 10 แต่ละตัวเลขที่ส่งออกจะต้องแสดงเป็น nybble ที่มีความกว้าง 4 บิตดังนั้นศูนย์จะต้องแสดงเป็น0000เป็นต้น คุณสามารถแยกแต่ละหมายเลขที่ส่งออกด้วยช่องว่างเครื่องหมายจุลภาคหรือการขึ้นบรรทัดใหม่ ทางออกที่เล็กที่สุดชนะ แต่ตัวเลขสามารถแสดงในลำดับใดก็ได้ที่คุณต้องการตราบใดที่ไม่มีหมายเลขซ้ำในลำดับของคุณ รายการในภาษาไบนารีระดับต่ำไม่จำเป็นต้องกังวลเกี่ยวกับตัวคั่นช่องว่างหรือเครื่องหมายจุลภาคถ้ามันเป็นไปไม่ได้ที่จะส่งออกด้วยเครื่องหมายจุลภาคหรือช่องว่างสีขาว (เช่นเอาท์พุทมาตรฐานถูก จำกัด ไว้ที่ไบนารีเท่านั้นหรือโซลูชั่นของคุณ เช่นKIM-1ซึ่งมีจอแสดงผลดิจิตอล จำกัด )

9
จะมีหรือเป็นสี่เหลี่ยม!
ทุกคนเคยได้ยินคำว่า "อยู่ที่นั่นหรือเป็นสี่เหลี่ยม" ดังนั้นฉันคิดว่าถึงเวลาแล้วที่จะต้องมีการท้าทาย อินพุต คุณจะใช้ที่อยู่ไดเรกทอรีสัมบูรณ์เต็มรูปแบบเป็นข้อความเป็นอินพุตผ่าน STDIN หรือเทียบเท่า เอาท์พุต หากที่อยู่ไดเรกทอรีมีอยู่และถูกต้องโปรแกรมของคุณจะย้ายตัวเองไปยังโฟลเดอร์นั้นในคอมพิวเตอร์ของคุณ ถ้าไม่มันจะออกผ่านทาง STDOUT หรือเทียบเท่าตารางต่อไปนี้: +-+ | | +-+ ความต้องการ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต คุณสามารถส่งออกบรรทัดใหม่ต่อท้ายบรรทัดเดียวหากหลีกเลี่ยงไม่ได้ โปรแกรมของคุณต้องไม่สร้างเอาต์พุตถ้ามันถูกย้าย โปรแกรมของคุณจะต้องสามารถทำงานได้อีกทุกที่ที่ถูกย้ายไป สมมติฐาน คุณอาจคิดว่าอินพุตไม่เคยว่างเปล่า คุณอาจถือว่าไดเรกทอรีไม่มีชื่อไฟล์ต่อท้าย คุณอาจคิดว่าไดเรกทอรีข้อมูลเข้านั้นไม่เคยเป็นไดเรกทอรีปัจจุบัน คุณอาจถือว่าคุณมีสิทธิ์ในการเขียนและดำเนินการทุกที่ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

6
นับตัวอักษร - ทีละนิด!
ส่วนที่เรียบง่าย:กำหนดสตริงอินพุตที่มีเฉพาะอักขระ ASCII ที่พิมพ์ได้ (ช่องว่าง - ตัวหนอน) นับจำนวนครั้งของอักขระแต่ละตัวและส่งคืนผลลัพธ์ในรูปแบบที่สะดวก ผลลัพธ์ของสตริงa%hda7aควรเป็นดังนี้: a:3, %:1, h:1, 7:1, d:1. การเรียงลำดับไม่จำเป็นตัวคั่นและรูปแบบเป็นตัวเลือก แต่ต้องเข้าใจง่ายว่าหมายเลขใดสอดคล้องกับอักขระตัวใด คุณจะต้องไม่รวมตัวละครที่ไม่ได้อยู่ในสายป้อน ( a:3, b:0, c:0, d:1, ...ไม่ตกลง) ความท้าทายที่แท้จริง: แปลงตัวละครทุกตัวในรหัสของคุณไปยังเลขฐานสอง 8 บิต (หรือ 16 บิตถ้าคุณกำลังใช้ UTF-16 หรือคล้ายกัน) 0และระบุตัวละครทุกตัวเริ่มต้นที่ ทุกตัวอักษร ( iเป็นแจงนับ) ที่i%7บิต1 ต้อง1เป็น บิตจะถูกกำหนดหมายเลขจากด้านขวา บิตอื่น ๆ ทั้งหมดสามารถเป็นอะไรก็ได้ที่คุณต้องการ ลองใช้รหัสต่อไปนี้เป็นตัวอย่าง: [f]-xif)#f การแปลงเป็นไบนารี่เราจะได้อาร์เรย์ด้านล่าง ตัวเลขแรก (แสดงถึง[มี1ตำแหน่ง 0'th ดังนั้นจึงเป็น OK หมายเลขที่สอง …

1
พิมพ์บอร์ดขออภัย
ฉันเพิ่งเล่นเกมกระดานขออภัย! กับบางคนและฉันรู้ว่าฉันสามารถท้าทายความสนใจที่น่าสนใจบางอย่างได้ อันนี้ค่อนข้างเรียบง่าย คุณงานเป็นเพียงการออกASCII ศิลปะรุ่นของคณะกรรมการขอโทษวางชิ้นที่ผมบอกให้คุณ รายละเอียด อันดับแรกนี่คือภาพของขออภัยจริงๆ ! คณะกรรมการสำหรับการอ้างอิง: กระดานว่างเปล่าดูเหมือนว่า: # > - - o # # # # > - - - o # # # # S v o # H # # # # # | | # | | # S o | # # ^ …

2
แก้ปัญหาเขาวงกตน้ำแข็ง
Ice mazes เป็นหนึ่งในเกมหลักที่ฉันชอบในเกมโปเกมอนตั้งแต่เปิดตัวในPokémon Gold และ Silver งานของคุณคือการสร้างโปรแกรมที่แก้ปัญหาประเภทนี้ เขาวงกตน้ำแข็งส่วนใหญ่ประกอบด้วยน้ำแข็งตามชื่อของมัน เมื่อผู้เล่นเคลื่อนที่ไปในทิศทางบนน้ำแข็งพวกเขาจะยังคงเคลื่อนที่ไปในทิศทางนั้นจนกว่าพวกเขาจะชนกับสิ่งกีดขวาง นอกจากนี้ยังมีดินที่สามารถเคลื่อนที่ข้ามได้อย่างอิสระและจะหยุดผู้เล่นที่เคลื่อนที่ข้ามมัน อุปสรรคสุดท้ายคือหิน หินไม่สามารถครอบครองพื้นที่เดียวกับผู้เล่นและหากผู้เล่นพยายามที่จะย้ายเข้ามาพวกเขาจะหยุดเคลื่อนไหวก่อนที่พวกเขาสามารถ คุณจะได้รับคอนเทนเนอร์สองมิติของค่าเช่นรายการของรายการหรือสตริงที่คั่นด้วยการขึ้นบรรทัดใหม่มี 3 ค่าที่แตกต่างกันสำหรับการปูพื้นแต่ละประเภท 3 ประเภท (น้ำแข็งดินและหิน) นอกจากนี้คุณยังจะได้รับสองคู่ (หรือภาชนะมูลค่าสองค่าที่เทียบเท่ากัน) ซึ่งระบุการเริ่มต้นและการประสานงานเป้าหมายในเขาวงกต สิ่งเหล่านี้อาจเป็นศูนย์หรือหนึ่งดัชนี คุณต้องส่งออกรายการการเคลื่อนไหว (4 ค่าที่แตกต่างพร้อมกับการใส่ลงใน N, E, S, W) ที่จะทำให้ผู้เล่นมาถึงจุดสิ้นสุดเมื่อดำเนินการ ข้อมูลที่ป้อนจะมีเส้นรอบวงของหินที่ปิดอยู่รอบเขาวงกตดังนั้นคุณจึงไม่ต้องกังวลกับผู้เล่นที่ออกจากเขาวงกต นี่คือโค้ดกอล์ฟเพื่อที่ไบต์ที่น้อยที่สุดจะชนะ กรณีทดสอบ ที่นี่.จะแสดงถึงน้ำแข็ง~จะเป็นตัวแทนของดินและOจะเป็นตัวแทนของหิน พิกัดเป็น 1 ดัชนี ตัวอักษรแต่ละตัวในโซลูชันแสดงถึงทิศทางที่ขึ้นต้นด้วยตัวอักษรนั้น (เช่นN= North) อินพุต OOOOO OO.OO O...O OOOOO Start : 3,3 End : …

14
ฐานของคุณไปที่ 1-2-3-Tribonacci ไปยังไบนารีกลับไปที่ฐานของคุณ
พื้นหลัง ลำดับ 1-2-3-Tribonacci ลองจินตนาการถึงวินาทีที่คุณสามารถสร้างลำดับฟีโบนักชีโดยแทนที่สูตรการทำซ้ำมาตรฐานด้วยสิ่งต่อไปนี้: โดยพื้นฐานแล้วแทนที่จะรวมสองครั้งสุดท้ายเพื่อให้ได้คะแนนถัดไปคุณจะรวมสามครั้งสุดท้าย นี่เป็นพื้นฐานสำหรับลำดับ 1-2-3-Tribonacci เกณฑ์ของบราวน์ สถานะเกณฑ์ของ Brown ที่คุณอาจแทนค่าจำนวนเต็มใด ๆ เป็นผลรวมของสมาชิกของลำดับที่จัดทำโดย: สำหรับทั้งหมดที่nมากกว่า 1 สิ่งนี้มีความหมายสำหรับความท้าทาย คุณอาจอธิบายจำนวนเต็มบวกใด ๆ เป็นผลรวมของสมาชิกของลำดับ 1-2-3-Tribonacci ที่เกิดขึ้นตามเงื่อนไขเริ่มต้นต่อไปนี้: สิ่งนี้เรียกว่าสำหรับทุกค่าในลำดับนี้อัตราส่วนระหว่างเทอมจะไม่เกิน 2 (อัตราส่วนโดยเฉลี่ยอยู่ที่ประมาณ 1.839) วิธีเขียนในระบบการแสดงตัวเลข สมมติว่าคุณใช้การแทนค่าแบบเอนด์เอนเดียน จัดเรียงสมาชิกตามลำดับดังนี้: 1 2 3 6 11 20 37 68 จากนั้นคุณจะใช้หมายเลขของคุณที่จะเป็นตัวแทน (สำหรับการทดสอบของเราขอบอกว่ามันเป็น63) และหาค่าที่กำหนด 1-2-3-Tribonacci ซึ่งรวมไป 63 (ใช้ค่าที่ใหญ่ที่สุดครั้งแรก!) ถ้าจำนวนนั้นเป็นส่วนหนึ่งของผลรวมให้ใส่ 1 อันใต้ 0 ถ้าไม่ 1 2 …

11
การโกง Cyclic Quine
แนวคิด เขียนโปรแกรมที่ส่งออกรหัสในภาษาการเขียนโปรแกรม รหัสนั้นเมื่อดำเนินการจะต้องส่งออกโปรแกรมต้นฉบับ กฎระเบียบ เนื่องจากนี่เป็นควินโกงคุณสามารถอ่านซอร์สโค้ดต้นฉบับได้ โปรแกรมเอาต์พุตแรกต้องเป็นภาษาเดียวกับโปรแกรมดั้งเดิม คุณไม่สามารถส่งควินปกติได้ โปรแกรมทั้งสองจะต้องแตกต่างกัน ช่องโหว่มาตรฐานใช้ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดชนะ แต่จะไม่ถูกเลือก
19 code-golf  quine 

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