การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

1
ภาพเคลื่อนไหวของ Code Golf
เมื่อฉันเห็นรายการ code-golf ที่ทำให้ตัวละครหายไปสักหน่อยฉันก็อ่านรหัสลงไปฉันจะดูประวัติการแก้ไขของ diff-by-side ดูและเรียนรู้ :) ความท้าทายนี้คือการสร้างโปรแกรมที่ให้ภาพเคลื่อนไหวที่สวยที่สุด อินพุตจะเป็นชุดของเวอร์ชันข้อความที่เรียงลำดับ โปรแกรมอาจถูกเขียนในภาษาการเขียนโปรแกรมใด ๆ อนุญาตให้โปรแกรม จำกัด ตัวเองให้ป้อนข้อมูลในบางภาษาโปรแกรมเฉพาะ ไม่ควรปรับโปรแกรมเป็นข้อมูลอินพุตเฉพาะ โปรแกรมควรเป็นแบบทั่วไปและใช้งานได้กับชุดข้อความรุ่นใด ๆ สำหรับแต่ละรุ่นในอินพุตจะต้องมีเวลาที่สอดคล้องกันในแอนิเมชั่นเอาท์พุทที่แสดงข้อความเต็มของเวอร์ชัน คุณต้องทำให้ความแตกต่างระหว่างสเตจเวอร์ชันและสเตจเวอร์ชันทั้งหมดต้องแสดงและตามลำดับในเอาต์พุต ในเฟรมหลักเหล่านี้จะต้องแสดงขนาดเวอร์ชันและผู้ดูควรเข้าใจว่านี่เป็นเวอร์ชั่นสมบูรณ์ที่พวกเขาเห็นอยู่ ณ จุดนั้น โปรแกรมไม่สามารถใช้รหัสบุคคลที่สามใด ๆ ในการคำนวณส่วนต่าง เอาต์พุตการไฮไลต์ไวยากรณ์เป็นทางเลือก หากโปรแกรมระบายสีไวยากรณ์มันอาจไม่ใช้รหัสบุคคลที่สามเพื่อทำเช่นนั้น ผลลัพธ์จะเป็นภาพเคลื่อนไหวแบบ GIF โปรแกรมอาจใช้ห้องสมุดบุคคลที่สามเพื่อเขียน GIF นี่คือความนิยมประกวดเพื่อให้เป็นตามคำนิยามของความนิยมประกวดในเว็บไซต์นี้รายการที่มีมากที่สุดชนะคะแนนโหวต นี่คือสคริปต์ตัวอย่างง่ายๆที่ใช้ ธndiffและหมอนพื้นฐานเคลื่อนไหวสนับสนุน GIF และเคลื่อนไหวแต่ละเพิ่มและลบขั้นตอน: โดยส่วนตัวแล้วฉันคิดว่านี่เป็นงานที่ค่อนข้างแย่ มันไม่ได้ทำการเน้นไวยากรณ์ แต่จะไม่ลองและย้ายโค้ดที่ได้รับการจัดเรียงใหม่มันไม่รู้สึกว่ามีใครบางคนกำลังแก้ไขมันอยู่และอื่น ๆ นอกจากนี้ยังแบ่งกฎที่เกี่ยวข้องกับการแสดงขนาดของอินพุตเป็นไบต์บนเฟรมหลักและใช้ไลบรารีบุคคลที่สามเพื่อทำ diffing ปรับปรุงห้องมากมาย! และหวังว่ารายการยอดนิยมจะกลายเป็นเครื่องมือสนุก ๆ ที่มีประโยชน์สำหรับชุมชน codegolf.stackexchange.com ด้วย ดังนั้นมันจึงน่าชื่นชมถ้าโปรแกรมนั้นง่ายสำหรับผู้อื่นในการเรียกใช้และใช้งาน

30
กราฟแนวนอนของความยาวคำ
อินพุต รายการคำที่คั่นด้วยช่องว่างจำนวนเท่าใดก็ได้ เอาท์พุต กราฟศิลปะ ASCII แนวนอนที่เส้น n-th ประกอบด้วยเครื่องหมายดอกจัน ( *) มากที่สุดเท่าที่คำ n-th นั้นยาว ตัวอย่างการใช้งาน >ผู้ใช้ป้อนสัญญาณที่คุณไม่ควรป้อนข้อมูลเมื่อการทดสอบโปรแกรม > This is an example histogram of word length **** ** ** ******* ********* ** **** ****** > a aa aaa aaaa aaaaa * ** *** **** ***** > double space example ****** ***** ******* …

2
พิมพ์ ASCII Voxels
เขียนโปรแกรมที่อ่านn×n×nn×n×nn\times n \times nอาร์เรย์ของค่าไบนารีซึ่งเป็นตัวแทนของn×n×nn×n×nn\times n \times nลูกบาศก์ที่ประกอบด้วยn3n3n^3ก้อนขนาดเล็ก แต่ละค่าบอกว่ามี voxel (ลูกบาศก์เล็ก ๆ ) อยู่ในตำแหน่งที่กำหนดหรือไม่ โปรแกรมจะต้องส่งออกอาร์เรย์ที่กำหนดเป็นกราฟิก ASCII (นั่นหมายถึงเอาต์พุตผ่านคอนโซลหรือการเขียนไปยังไฟล์) ตัวอย่าง ให้เราพิจารณาอาร์เรย์2 × 2 × 2×2×22×2×22\times 2\times 2ต่อไปนี้: [ [[0,0], [1,0]] [[1,1], [1,0]], ] [ [[0,0], [0,0]] [[1,1], [1,1]], ] ในกรณีนี้ผลลัพธ์ควรมีลักษณะเช่นนี้ (ดูไม่ดีเท่าที่ควรในตัวแก้ไขโค้ด / คอนโซลที่มีพื้นที่แนวตั้งน้อยกว่า): +----+ / /|-+----+ +----+ | /| | | +----+ | …

8
พายเรือแคนู Whitewater มาก
คุณพายเรือแคนูไปตามแม่น้ำสายน้ำที่ค่อนข้างเร็ว ทันใดนั้นไม้พายของคุณก็ระเบิดและคุณก็พบว่าตัวเองตกอยู่ในสถานการณ์อันตรายที่พุ่งลงแม่น้ำอย่างรวดเร็วโดยไม่มีไม้พาย โชคดีที่คุณยังมีทักษะการเขียนโปรแกรมดังนั้นคุณตัดสินใจที่จะแกะสลักโปรแกรมที่ด้านข้างของเรือแคนูเพื่อช่วยให้คุณรอดจากกระแสน้ำเชี่ยว อย่างไรก็ตามมีพื้นที่ผิวด้านข้างของแคนูไม่มากนักในการเขียนโปรแกรมด้วยดังนั้นคุณต้องทำให้โปรแกรมสั้นที่สุดเท่าที่จะทำได้ แม่น้ำสามารถแสดงเป็น 8 โดย 16 ตาราง เราจะติดป้ายคอลัมน์ด้วยตัวเลข0ไป7และแถวที่มีตัวเลขการ015 y --------15 --------14 --------13 --------12 --------11 --------10 --------9 --------8 --------7 --------6 --------5 --------4 --------3 --------2 --------1 --------0 01234567 x ด้านบน: แม่น้ำธรรมดาที่สงบนิ่งไม่มีสิ่งกีดขวาง ตามธรรมชาติแล้วนี่ไม่ใช่แม่น้ำที่คุณอยู่ คุณเริ่มที่พิกัด (4, 0) และจากนั้นเลื่อนขึ้นไปตามแม่น้ำอย่างไม่สามารถควบคุม (เช่นเวกเตอร์(0,1)) จนกว่าคุณจะชนหิน (แทนด้วยoตัวอย่างในตัวอย่างเหล่านี้) เมื่อคุณชนหินคุณจะมีโอกาส 55% ที่จะเคลื่อนที่ผ่านก้อนหินไปทางซ้าย (เช่นเวกเตอร์(-1,1)) และ 45% โอกาสที่จะเคลื่อนที่ผ่านก้อนหินไปทางขวา (เช่นเวกเตอร์(1,1)) หากเรือแคนูอยู่ทางด้านซ้ายหรือด้านขวาคอลัมน์จะเคลื่อนที่ไปทางกึ่งกลางเสมอ หากไม่มีหินมันจะเคลื่อนที่ขึ้นไปตรง y …

4
วาด Apollonian Gasket
เมื่อวงกลมสามวงสัมผัสกันเราสามารถหาได้วงกลมเพิ่มอีกสองวงซึ่งแทนเจนต์ของวงกลมทั้งสามนี้ สองคนนี้จะเรียกว่าวงการสุขุม โปรดทราบว่าหนึ่งในแวดวง Apollonian อาจอยู่ในวงกลมเริ่มต้นสามวง เริ่มจากวงกลมแทนเจนต์สามวงเราสามารถสร้างเศษส่วนที่เรียกว่า ปะเก็น Apollonianโดยกระบวนการต่อไปนี้: เรียกวงกลม 3 วงเริ่มต้นเป็นวงกลมหลัก ค้นหาวงกลม Apollonian วงกลมสองวง สำหรับแต่ละวงกลม Apollonian: สำหรับแต่ละคู่ของวงกลมหลักสามคู่: เรียกวงกลม Apollonian และวงกลมหลักสองชุดคือชุดวงกลมหลักและเริ่มต้นใหม่จากขั้นตอนที่ 2 เช่นเริ่มต้นด้วยวงกลมที่มีขนาดเท่ากันเราจะได้รับ: พบรูปภาพใน Wikipedia มีอีกหนึ่งบิตของสัญกรณ์ที่เราต้องการ ถ้าเรามีวงกลมรัศมีRมีศูนย์(x, y)เราสามารถกำหนดมันโค้งเป็นk = ± 1 / R โดยปกติkจะเป็นค่าบวก แต่เราสามารถใช้ค่าลบkเพื่อแสดงวงกลมที่ล้อมรอบวงกลมอื่น ๆ ทั้งหมดในปะเก็น (เช่นแทนเจนต์ทั้งหมดสัมผัสวงกลมนั้นจากด้านใน) จากนั้นเราสามารถระบุวงกลมด้วยหมายเลข triplet: (k, x * k, y * k)k) สำหรับจุดประสงค์ของคำถามนี้เราจะถือว่าจำนวนเต็มบวกkและ rational xและy y …

30
พิมพ์ตาราง ASCII
งานคือการแสดงnตัวละครของตาราง ASCII คุณอาจเขียนฟังก์ชัน (หรือโปรแกรมที่รับอาร์กิวเมนต์เป็นพารามิเตอร์อนุญาตให้ใช้ STDIN ด้วย) ที่ใช้พารามิเตอร์nซึ่งจะเป็นดัชนีของอักขระตัวสุดท้ายที่จะพิมพ์ งานค่อนข้างง่ายดังนั้นตามตัวอย่างนี่เป็นการนำไปปฏิบัติที่เป็นไปได้ใน Python 2.7: (lambda n:map(chr, range(n)))(256) อย่างที่ฉันบอกว่ามันเป็นงานง่าย ดังนั้นนี่คือ code-golf และรหัสที่สั้นที่สุดชนะ! แก้ไข เนื่องจากคุณบางคนชี้ให้เห็นรหัสนี้ไม่ได้พิมพ์ผล เป็นเพียงตัวอย่างเนื่องจากฉันอาจพยายามอธิบายปัญหาเป็นภาษาอังกฤษ ;-) EDIT2 อย่าลังเลที่จะโพสต์คำตอบในภาษาการเขียนโปรแกรมใด ๆ แม้ว่าจะไม่ใช่รหัสสั้นที่สุด อาจมีการใช้งานที่น่าสนใจอยู่ที่นั่น! edit3 แก้ไขตัวอย่างเพื่อพิมพ์ผลลัพธ์
28 code-golf 

12
บอกการเคลื่อนไหว
แจ็คและเจนตัดสินใจเล่นเกมหมากรุกในขณะที่ไม่อยู่ น่าเสียดายที่แจ็คค่อนข้างแย่ในการสร้างภาพ เขาพบว่ามันยากที่จะคิดการเคลื่อนไหวที่เป็นไปได้สำหรับชิ้นส่วนที่กำหนดนอกเหนือจากจำนำแน่นอน! ความท้าทายของคุณคือช่วยค้นหาแจ็คตัวเลือกที่เป็นไปได้สำหรับชิ้นส่วนที่ระบุ (นอกเหนือจากการจำนำ) ในกรณีที่ลืมแล้วชิ้นส่วนต่าง ๆ จะถูกแทนด้วย: K: ราชา ถาม: ราชินี N: อัศวิน B: อธิการ R: โกง ตัวอย่างเช่นในภาพต่อไปนี้อัศวินตั้งอยู่ที่d4และสามารถย้ายไปc2, b3, b5, c6, e6, f5, ,f3 e2สำหรับอินพุตที่กำหนด: Nd4 คุณจะผลิต: Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2 กฎ: ลำดับของผลลัพธ์ไม่สำคัญตราบใดที่มีการเคลื่อนไหวที่เป็นไปได้ทั้งหมดที่ระบุไว้ การเคลื่อนไหวที่เป็นไปได้สามารถคั่นด้วยช่องว่างบรรทัดใหม่หรือตัวคั่นอื่น ๆ อินพุตสามารถส่งผ่านไปยังโปรแกรมเป็นพารามิเตอร์หรือผ่าน STDIN ช่องว่างในโปรแกรมจะถูกนับดังนั้นควรใช้ให้เกิดประโยชน์สูงสุด นี่คือรหัสกอล์ฟ (โปรดหลีกเลี่ยงการใช้เครื่องมือ / ยูทิลิตี้ใด ๆ ที่ออกแบบมาเพื่อวัตถุประสงค์โดยเฉพาะ) คำตอบที่สั้นที่สุดชนะ!
28 code-golf  chess 

8
เขียน Hangman Solver
คุณจะต้องเขียนแก้ Hangman ทดสอบกับรายการคำภาษาอังกฤษนี้[1]ตัวแก้ปัญหาที่แก้ได้มากที่สุดคำที่ชนะด้วยจำนวนการเดาที่ไม่ถูกต้องทั้งหมดเป็นตัวผูกไทเกอร์ คำทั้งหมดในรายการคำจะถูกทดสอบตามลำดับแบบสุ่ม [1]: รายการคำนี้นำมาจากที่นี่จากนั้นตัวเลขจะถูกลบออกจากนั้นคำที่มีความยาว 1 หรือที่มีตัวอักษรที่ไม่ใช่ตัวอักษรจะถูกลบออกจากนั้นคำศัพท์เฉพาะ 4096 คำที่ไม่ซ้ำกันส่วนใหญ่จะถูกเลือกเป็นรายการคำนี้ รายละเอียด: โปรแกรมของคุณจะโต้ตอบกับโปรแกรมเกมซึ่งจะช่วยให้คุณผ่านขีดล่างและตัวอักษรที่เดาได้อย่างถูกต้อง โปรแกรมของคุณจะให้ stdout การคาดเดาของคุณและมันต้องอนุมานจากอินพุตว่าการเดาก่อนหน้านั้นถูกหรือผิด หลังจากที่ทำผิด 6 ครั้งโปรแกรมของคุณจะหายไป โปรแกรมของคุณจะต้องพร้อมสำหรับเกมถัดไปหลังจากแต่ละเกมจบลง (หลังจากชนะหรือแพ้) ความยาวรหัสของคุณจะต้องน้อยกว่า 2048 ไบต์อย่างเคร่งครัดและโปรแกรมของคุณจะต้องไม่ใช้ทรัพยากรภายนอกใด ๆ (รวมถึง แต่ไม่ จำกัด เพียงการเข้าถึง wordlist บนที่จัดเก็บในตัวเครื่องหรือจากอินเทอร์เน็ต) ตัวอย่าง : (อินพุตนำหน้าด้วย>ที่นี่เพื่อการชี้แจงเท่านั้น - มันไม่ได้มีอยู่จริงในอินพุต) >_______ // 7 underscores a // Now you wait for input again >_a___a_ e >_a___a_ …

5
รัฐบาลมีกำแพง จำกัด
บทนำ นักกอล์ฟรหัสความรู้เตรียมเราสำหรับน้ำท่วมวันโลกาวินาศ พื้นที่ที่มีความเสี่ยงถูกอพยพออกไปและประชากรย้ายไปอยู่ที่สูง เราประเมินน้ำท่วมน้อยเกินไป (หรืออาจมีข้อผิดพลาดในรหัสของ @ user12345) บางพื้นที่ที่อยู่สูงขึ้นไปใกล้ระดับน้ำทะเลอย่างรวดเร็ว ผนังจะต้องถูกสร้างขึ้นเพื่อให้แน่ใจว่าการอยู่รอดของค่ายที่มีประชากรหนาแน่นในขณะนี้ น่าเศร้าที่รัฐบาลมีกำแพงที่ จำกัด ปัญหา สถานการณ์วันโลกาวินาศของเราคือการอธิบายโดยตัวเลขสองในบรรทัดเดียวและn mต่อจากบรรทัดนั้นคือnบรรทัดที่มีmค่าต่อบรรทัดคั่นด้วยช่องว่างเดียวเท่านั้น แต่ละค่าจะเป็นหนึ่งในสี่ตัวละคร xที่เป็นทางตัน น้ำไม่สามารถไหลได้ที่นี่ ไม่สามารถสร้างกำแพงได้ที่นี่ -ไม่แน่นอน น้ำสามารถไหลผ่านนี่ได้ ไม่สามารถสร้างกำแพงได้ที่นี่ .มีเสถียรภาพ น้ำสามารถไหลผ่านที่นี่ สามารถสร้างกำแพงได้ที่นี่ oการตั้งแคมป์ น้ำสามารถไหลผ่านที่นี่ ถ้าเป็นเช่นนั้นทุกคนจะตาย ไม่สามารถสร้างกำแพงได้ น้ำจะไหลจากทุกขอบของแผนที่เว้นแต่ว่าขอบไม่สามารถใช้ได้หรือผนังจะถูกสร้างบนกระเบื้อง เขียนโปรแกรมที่สามารถแสดงจำนวนกำแพงขั้นต่ำที่ต้องการเพื่อป้องกันการตั้งค่าย ตัวอย่างการป้อนข้อมูล 6 7 x . . x x x x x . . x - - x x . x …
28 code-golf 

19
ก้าวกระโดดสำหรับวินาที Leap!
ตั้งแต่วันนี้ถือเป็นโอกาสในการก้าวกระโดดครั้งที่ 26 ที่เคยเกิดขึ้นความท้าทายของคุณคือการส่งออกวันที่และเวลาของทุกๆวินาทีที่กระโดดใน GMT หรือ UTC ที่เกิดขึ้นจนถึงวันนี้และเหตุการณ์ที่เกิดขึ้นในวันนี้ อินพุต ไม่มีอินพุต เอาท์พุต 1972-06-30 23:59:60 1972-12-31 23:59:60 1973-12-31 23:59:60 1974-12-31 23:59:60 1975-12-31 23:59:60 1976-12-31 23:59:60 1977-12-31 23:59:60 1978-12-31 23:59:60 1979-12-31 23:59:60 1981-06-30 23:59:60 1982-06-30 23:59:60 1983-06-30 23:59:60 1985-06-30 23:59:60 1987-12-31 23:59:60 1989-12-31 23:59:60 1990-12-31 23:59:60 1992-06-30 23:59:60 1993-06-30 23:59:60 1994-06-30 23:59:60 1995-12-31 23:59:60 …

18
ฝูงชนที่ลอยอยู่
บทนำ ฝนก็ลดลงในที่สุด ส่วนใหญ่ของมนุษยชาติจมน้ำเนื่องจากข้อผิดพลาดใน @ user12345 รหัส ผู้รอดชีวิตกระจัดกระจายไปทั่วหมู่เกาะทั่วโลก การสื่อสารทางวิทยุนั้นเริ่มขึ้นและมนุษย์ก็พร้อมที่จะเติบโตอีกครั้ง ไม่ว่าจะด้วยเหตุผลใดก็ตามโจรสลัดซอมบี้ได้รวมตัวกันที่นายกรัฐมนตรีเมริเดียนและกวาดไปทางตะวันตก ฝูงชนกลืนกินทั้งหมด ปัญหา สถานการณ์วันโลกาวินาศของเราสามารถอธิบายได้ด้วยจำนวนเต็ม 5 ตัวในบรรทัดเดียวซึ่งเป็นตัวแทนของชุมชนเกาะที่ให้ความร่วมมือ พวกเขาได้รับคำสั่งจากตะวันตก (จำนวนเต็มซ้ายสุด) ไปทางทิศตะวันออก (จำนวนเต็มขวาสุด) เริ่มต้นด้วยเกาะที่ไกลออกไปทางตะวันออกสุดชาวเกาะหนีคู่ไปยังเกาะที่ใกล้ที่สุด สำหรับทุกคู่ที่เริ่มต้นมีเพียงหนึ่งคนเท่านั้นที่รอดชีวิตจากการเดินทาง เกาะเพียงเดินทางเป็นคู่ ประชากรแปลกเลือกผู้อยู่อาศัยเพียงคนเดียวที่จะอยู่ข้างหลังและให้การปรับปรุงวิทยุล่าสุดเกี่ยวกับการแสดงตลกของฝูงโจรสลัดผีดิบ ประชากรปฏิเสธที่จะเดินทางจนกว่าเกาะทั้งหมดทางตะวันออกของพวกเขาจะเสร็จสิ้นการอพยพหรือเสียชีวิต เมื่อประชากรมาถึงเกาะสุดท้ายเกาะสุดท้ายการเดินทางสิ้นสุดลง ผู้จัดการการดำเนินงานในตอนท้ายของโลกต้องการโปรแกรมที่สามารถส่งออกจำนวนประชากรสุดท้ายของแต่ละหมู่บ้าน ตัวอย่างการป้อนข้อมูล 3 8 6 0 2 ตัวอย่างผลลัพธ์ 8 1 0 1 0 สมมติฐาน อินพุตอาจถูกจัดเตรียมผ่าน stdin อ่านจากไฟล์ที่ตั้งชื่อตามอำเภอใจหรือยอมรับว่าเป็นอาร์กิวเมนต์ สำหรับแต่ละเกาะ 0 <= ประชากร <= 1024 ประชากรไม่เคยข้ามเกาะ คำตอบที่สั้นที่สุดชนะ!
28 code-golf 

2
การประกวดรหัสชุดเลิกรา: การจัดเรียงที่ไม่ด่วน [ปิด]
งาน เขียนโปรแกรมในภาษาที่คุณเลือกซึ่งอ่านบรรทัดอินพุตจากอินพุตมาตรฐานจนถึง EOF จากนั้นเขียนลงในเอาต์พุตมาตรฐานตามลำดับ ASCII คล้ายกับsortโปรแกรมบรรทัดคำสั่ง ตัวอย่างสั้น ๆ ที่ไม่มีการใช้เล่ห์เหลี่ยมใน Python คือ: import sys for line in sorted(sys.stdin): print(line.rstrip('\n')) ส่วนที่ซ่อนเร้น คล้ายกับThe OS Warเป้าหมายของคุณคือการพิสูจน์ว่าแพลตฟอร์มที่คุณโปรดปรานนั้น“ ดีกว่า” โดยให้โปรแกรมของคุณทำงานช้าลงมากขึ้นบนแพลตฟอร์มการแข่งขัน เพื่อประโยชน์ในการประกวดครั้งนี้ "แพลตฟอร์ม" ประกอบด้วยการรวมกันของ: หน่วยประมวลผล สถาปัตยกรรม (x86, Alpha, ARM, MIPS, PowerPC, ฯลฯ ) พยาน (64- บิตกับ 32- บิตกับ 16- บิต) ใหญ่ - กับ - เอนเดียนน้อย ระบบปฏิบัติการ Windows …

12
ตัวเลขเดดฟิชสั้น
Deadfishเป็นหนึ่งในภาษาโปรแกรมทัวริงที่สมบูรณ์แบบที่รู้จักกันดี มีเพียงหนึ่งตัวสะสม (ซึ่งเริ่มต้นที่ 0) เพื่อเก็บข้อมูลและมีเพียงสี่คำสั่ง: i - Increment the accumulator s - Square the accumulator d - Decrement the accumulator o - Output the accumulator โปรแกรม Deadfish อาจมีลักษณะดังนี้: iiisdo และนั่นจะพิมพ์: 8 ความท้าทาย สร้างโปรแกรมที่จะใส่ตัวเลขและเอาท์พุทรหัส Deadfish เพื่อแสดงตัวเลข (หรือสร้างฟังก์ชั่นที่ใช้ตัวเลขเป็นพารามิเตอร์และส่งคืนรหัส) มันจะต้องทำงานกับจำนวนเต็มใด ๆ จาก0ถึง255 เป้าหมาย พยายามทำให้รหัสของคุณสั้นที่สุดเพื่อสร้างรหัสที่กำหนด ตัวอย่างเช่น: iiiiiiiiio และ iiiso แต่ละการพิมพ์9แต่ครั้งที่สองจะสั้นกว่า เกณฑ์การให้คะแนน คะแนนของคุณคือ: The number …

5
วาดภาพด้วยงู
ลองจินตนาการถึงเส้นทางสองมิติต่อเนื่องที่สามารถเลี้ยวซ้ายขวาหรือไปตรงไม่สามารถตัดกันและต้องเติมกริดสี่เหลี่ยมเช่นตารางพิกเซลในรูปภาพ เราจะเรียกงูชนิดนี้ว่า ตัวอย่างที่ขยายใหญ่นี้แสดงเส้นทางของงูในตาราง 10 × 4 ที่เริ่มเป็นสีแดงและเพิ่มขึ้นในสีประมาณ 2% ในทุกขั้นตอนจนกว่ามันจะเป็นสีม่วง (เส้นสีดำเป็นเพียงการเน้นทิศทางที่ใช้) เป้าหมาย เป้าหมายในการประกวดความนิยมนี้คือการเขียนอัลกอริทึมที่พยายามสร้างภาพที่กำหนดใหม่โดยใช้งูตัวเดียวซึ่งสีเปลี่ยนไปอย่างต่อเนื่องในปริมาณเล็กน้อย โปรแกรมของคุณจะต้องใช้เวลาในภาพจริงสีทุกขนาดเช่นเดียวกับค่าจุดลอยระหว่าง 0 และ 1 รวมของความอดทน ความอดทนกำหนดจำนวนสูงสุดของสีของงูที่ได้รับอนุญาตให้เปลี่ยนในแต่ละขั้นตอนขนาดพิกเซล เราจะกำหนดระยะห่างระหว่างสองสี RGB เป็นระยะทางยุคลิดระหว่างสองจุด RGB เมื่อจัดบนก้อนสี RGB ระยะทางจะถูกทำให้เป็นมาตรฐานดังนั้นระยะทางสูงสุดคือ 1 และระยะทางต่ำสุดคือ 0 pseudocode ระยะทางสี: (สมมติว่าค่าอินพุตทั้งหมดเป็นจำนวนเต็มในช่วง[0, 255]; เอาต์พุตจะถูกทำให้เป็นมาตรฐาน) function ColorDistance(r1, g1, b1, r2, g2, b2) d = sqrt((r2 - r1)^2 + (g2 - g1)^2 + …

21
Limerick Hello World [ปิด]
โปรแกรมบทกวีที่คุณเขียน ความพยายามที่จะชนะการต่อสู้ เพื่อชนะการประกวดและลงคะแนน มันต้องคำนวณ "Hello World" จากนั้นพิมพ์อย่างสุภาพมาก บทกวียอดนิยมจะชนะ ข้อกำหนดคือ: บทกวีควรมี5 บรรทัดพร้อมเพลงบรรเลง AABBA มันสามารถพิมพ์สิ่งที่คุณต้องการ แต่ผลลัพธ์ควรมี "hello world" (ตัวพิมพ์ใหญ่ / ตัวพิมพ์เล็กไม่สำคัญราคาไม่รวมอยู่ในผลลัพธ์) สัญลักษณ์จะอ่านออกเสียง ตัวอย่างเช่นอ่านบรรทัดที่สี่ด้านบน: ต้องคำนวณคำพูดคำพูด hello world โพสต์รหัสของคุณด้านล่างในตัวอย่างโค้ดอื่นเวอร์ชัน "อ่านออกเสียง" ของรหัสของคุณสำหรับแก้ความกำกวมสัญลักษณ์พิเศษ ไม่รวมเป็นบทกวี: รวมถึงรหัสที่ตายแล้วหรือตัวละครที่สามารถลบได้อย่างปลอดภัยโดยไม่ต้องเปลี่ยนเพลงหรือฟังก์ชั่น การใช้ความคิดเห็นเป็นวิธีในการสัมผัส (ยกเว้นในกรณีที่มีเหตุผลที่ดีสำหรับเรื่องนั้น) ใช้สัญลักษณ์เดียวกันกับจุดสิ้นสุดของวลีสำหรับสัมผัส ในกรณีที่เสมอกันโปรแกรมที่ส่งผลให้บทกวีจะเป็นผู้ชนะ หากยังมีเสมอโปรแกรมที่สั้นกว่าจะชนะ บรรทัดใหม่จะไม่ถูกนับ ช่องว่างแท็บและการขึ้นบรรทัดใหม่จะไม่อ่านออกเสียง ตัวอย่างเช่น "สวัสดีโลก!" จะอ่านออกเสียง "เครื่องหมายคำพูดสองจุดสวัสดีเครื่องหมายจุลภาคโลกเครื่องหมายอัศเจรีย์"

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