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

Code-bowling คือการแข่งขันเพื่อแก้ปัญหาเฉพาะ (โดยปกติจะง่าย) ในจำนวนไบต์หรือความซับซ้อนส่วนใหญ่

21
โบว์ลิ่งที่เก่าแก่และไม่เหมือนใคร
ความท้าทายของคุณนั้นง่าย: เขียนโปรแกรมที่เก่าแก่ที่สุดเท่าที่จะเป็นไปได้ในภาษาที่คุณเลือกโดยใช้ไบต์ที่ไม่ซ้ำกันเท่านั้น (คำจำกัดความเต็มของโปรแกรมที่เก่าแก่ที่คัดลอกมาจากลิงค์นั้นอยู่ที่ด้านล่างของคำถามนี้) ถูกต้องไม่มีสตริงติดอยู่ รหัสของคุณไม่จำเป็นต้องทำอะไรเลยเพียงแค่รันโดยไม่มีข้อผิดพลาดตรงตามข้อกำหนดสำหรับโปรแกรมที่เก่าแก่ (ลิงก์ด้านบน) และไม่มีไบต์ที่ซ้ำกันในการเข้ารหัสที่คุณใช้ สำหรับวัตถุประสงค์ของคำอธิบายข้างต้นและคำจำกัดความที่เชื่อมโยงของ "โปรแกรมที่เก่าแก่" ข้อผิดพลาดถูกกำหนดให้เป็นสิ่งใดก็ตามที่ทำให้โปรแกรมไม่สามารถทำงานได้ทั้งหมดหรือยุติด้วยรหัสทางออกที่ไม่ใช่ศูนย์หลังจากระยะเวลา จำกัด เช่นนี้เป็นรหัสโบว์ลิ่ง , ที่ยาวที่สุดไม่สั้นชนะรหัส (วัดโดยนับไบต์) คะแนนสูงสุดที่เป็นไปได้ในทางทฤษฎีคือ 256 เนื่องจากมี 256 ไบต์ที่แตกต่างกัน ในกรณีที่เสมอกันคำตอบแรกที่ได้คะแนนสูงสุดจะเป็นฝ่ายชนะ ต่อไปนี้เป็นคำจำกัดความที่สมบูรณ์ของโปรแกรมที่เก่าแก่คัดลอกมาจากลิงค์ด้านบน: ลองกำหนดโปรแกรมที่เก่าแก่เป็นโปรแกรมที่ไม่มีข้อผิดพลาดใด ๆ ของตัวเอง แต่จะผิดพลาดถ้าคุณแก้ไขได้โดยการเอาย่อยที่ต่อเนื่องกันใด ๆ ของตัวอักษร N, 1 <= N < program lengthที่ ตัวอย่างเช่นโปรแกรมสามตัวอักษร Python 2 `8` เป็นโปรแกรมที่เก่าแก่เพราะโปรแกรมทั้งหมดที่เกิดจากการลบสตริงย่อยของความยาว 1 ทำให้เกิดข้อผิดพลาด (ข้อผิดพลาดทางไวยากรณ์ในความเป็นจริง แต่ข้อผิดพลาดประเภทใดจะทำ): 8` `` `8 และโปรแกรมทั้งหมดที่เป็นผลมาจากการลบสตริงย่อยของความยาว 2 ทำให้เกิดข้อผิดพลาด: …

30
เอาท์พุทข้อความ“ Code Bowling”
รหัสโบว์ลิ่ง คุณได้รับการว่าจ้างจาก Brunswick Bowling เพื่อสร้างโปรแกรมง่าย ๆ ในการแสดงผลข้อความCode Bowlingบนหน้าจอ บริษัท นี้มีมูลค่าเงินสวยและคุณรู้สึกว่าคุณสามารถโกงพวกเขาสำหรับค่อนข้างบิตของเงินสด รายละเอียดงานระบุอย่างชัดเจนว่าพวกเขาจ่ายเงินตามเกณฑ์การให้คะแนนและคุณค่อนข้างมั่นใจว่าคุณสามารถจัดการระบบการให้คะแนนของพวกเขาเพื่อประโยชน์ของคุณและได้รับการตรวจสอบการจ่ายเงินที่ใหญ่ที่สุดที่เป็นไปได้จากพวกเหล่านี้ ในการดำเนินการดังกล่าวคุณจะต้องบรรจุรหัสให้มากที่สุดเท่าที่จะทำได้ในโปรแกรม / ฟังก์ชั่นของคุณแม้ว่าระบบการให้คะแนนจะได้รับการออกแบบมาเพื่อป้องกันไม่ให้คุณทำเช่นนั้น ออกกระปุกออมสินของคุณกันเถอะรหัส! ท้าทาย ความท้าทายคือการส่งออกข้อความCode Bowlingอย่างที่เขียนไว้ที่นี่ด้วยคะแนนสูงสุดเท่าที่จะเป็นไปได้ (ดูหัวข้อ: ระบบการให้คะแนนด้านล่าง) บรรทัดใหม่และนำหน้า (ขึ้นบรรทัดใหม่) เป็นที่ยอมรับ รหัสของคุณอาจเป็นโปรแกรมทั้งหมดหรือเพียงแค่ฟังก์ชั่นที่ปฏิบัติการได้ กฎระเบียบ ข้อผูกมัด: ความท้าทายนี้ใช้Code-Bowling: กฎทั่วไป, การแก้ไข 1.0.0 ; ดู Meta สำหรับรายละเอียด ตัวละคร: Byte Ratio ใน Code-Bowling จะต้องนับจำนวนตัวอักษรมากกว่า byte-count เหตุผลที่ชัดเจนสำหรับเรื่องนี้ก็คือตัวอักษร Unicode แบบหลายไบต์ (เช่น🁴) สามารถใช้แทนอักขระแบบ Unicode ไบต์เดียวเพื่อการนับจำนวนไบต์และจะทำให้โบว์ลิ่งมากขึ้นเกี่ยวกับผู้ที่เปลี่ยนชื่อตัวแปรส่วนใหญ่ด้วยอักขระแบบ Unicode แบบไบต์สูง …

23
โปรแกรม "Hello world" ที่ซับซ้อนที่สุดที่คุณสามารถปรับ [ปิด]
เจ้านายของคุณขอให้คุณเขียนโปรแกรม "สวัสดีโลก" เมื่อคุณได้รับเงินสำหรับบรรทัดของโค้ดคุณต้องทำให้มันซับซ้อนที่สุดเท่าที่จะทำได้ อย่างไรก็ตามหากคุณเพียงเพิ่มบรรทัดไร้สาระหรือสิ่งที่ไร้ประโยชน์หรือทำให้งงงวยอย่างเห็นได้ชัดคุณจะไม่ได้รับผ่านการตรวจสอบโค้ด ดังนั้นความท้าทายคือ: เขียนโปรแกรม "hello world" ซึ่งมีความซับซ้อนที่สุดเท่าที่จะเป็นไปได้ภายใต้เงื่อนไขที่คุณสามารถให้ "เหตุผล" สำหรับทุกความซับซ้อนในรหัส พฤติกรรมที่ต้องการของโปรแกรมคือเพียงแค่ส่งออกบรรทัดเดียว "Hello world" (โดยไม่ใส่เครื่องหมายอัญประกาศ แต่จะขึ้นบรรทัดใหม่ตอนท้าย) จากนั้นออกจากโปรแกรมสำเร็จ "การอ้างเหตุผล" รวมถึง: ความเข้ากันได้ buzzword ("ซอฟต์แวร์ที่ทันสมัยเป็นวัตถุเชิง!") โดยทั่วไปยอมรับวิธีปฏิบัติด้านโปรแกรมที่ดี ("ทุกคนรู้ว่าคุณควรแยกโมเดลและมุมมอง") ความสามารถในการบำรุงรักษา ("ถ้าเราทำในลักษณะนี้เราจะทำ XXX ในภายหลังได้ง่ายขึ้น") และแน่นอนว่าเหตุผลอื่นใดที่คุณสามารถจินตนาการถึงการใช้ (ในสถานการณ์อื่น ๆ ) สำหรับรหัสจริง เห็นได้ชัดว่าเหตุผลที่โง่เง่าจะไม่ได้รับการยอมรับ นอกจากนี้คุณต้อง "ปรับ" ตัวเลือกภาษาของคุณ (ดังนั้นหากคุณเลือกภาษา verbose โดยเนื้อแท้คุณจะต้องแสดงเหตุผลว่าทำไมจึงเป็นตัวเลือก "ถูกต้อง") ภาษาที่สนุกเหมือน Unlambda หรือ INTERCAL ไม่เป็นที่ยอมรับ (ยกเว้นกรณีที่คุณสามารถให้มากเหตุผลที่ดีสำหรับการใช้พวกเขา) คะแนนของรายการที่ผ่านการคัดเลือกมีการคำนวณดังนี้: 1 จุดสำหรับแต่ละข้อความ …

13
รหัสที่ยาวที่สุดเพื่อเพิ่มหมายเลขสอง [ปิด]
งาน: +ฉันรู้ว่าเราทุกคนสามารถเพิ่มตัวเลขสองวิธีที่สั้นโดยใช้ งานของคุณคือการสร้างรหัสที่ยาวที่สุดที่คุณสามารถทำได้เพื่อเพิ่มตัวเลขสองตัว กฎ: รหัสทั้งหมดจะต้องอยู่ในหัวข้อ (อย่ากรอกด้วยรหัสที่ไม่ใช่การเพิ่มความยาว) การนับเป็นตัวอักษร แต่ไม่นับแท็บการเว้นวรรคหรือการขึ้นบรรทัดใหม่ อย่าใช้ชื่อตัวแปรที่มีความยาวเกินจริง นี่คือการโยนรหัสดังนั้นคำตอบที่ยาวที่สุดชนะ!

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

5
รหัสตัวละครที่แตกต่างกัน
หมายเหตุ: ความท้าทายนี้อนุญาตเฉพาะคำตอบในภาษาที่รวบรวม งาน งานของคุณค่อนข้างง่ายทำสองโปรแกรมที่ต่างกันเมื่อรวบรวมผลลัพธ์ในผลลัพธ์เดียวกัน เกณฑ์การให้คะแนน ที่นี่คือที่ที่ความสนุกเข้ามาคะแนนของคุณจะเป็นจำนวนไบต์ที่ไม่ซ้ำใครในหนึ่งโปรแกรม ตัวอย่างเช่นหากโปรแกรมทั้งสองของคุณ (เข้ารหัสในIBM Code หน้า 437 ) คือ ☻☻Program A และ ☺Program B อักขระที่อยู่ในโปรแกรมเดียวคือ ☻☺AB ดังนั้นคะแนนคือ 4 โปรดทราบว่า ☻จะปรากฏสองครั้งในโปรแกรมแรก แต่จะนับเพียงครั้งเดียว เป้าหมายของคุณคือการได้รับคะแนนสูงสุดคะแนนสูงสุดที่เป็นไปได้คือ 256 ที่นี่คือโปรแกรมการให้คะแนนที่ใช้กับโปรแกรมที่เข้ารหัส ASCII เงื่อนไข ทุกไบต์ในทั้งสองโปรแกรมควรจะถูกแทนที่ด้วยไบต์ที่แตกต่างกันทำให้โปรแกรมรวบรวมผลลัพธ์ที่แตกต่างกันหรือไม่สามารถรวบรวมทั้งหมดเข้าด้วยกัน การลบไบต์ใด ๆ ควรทำเช่นเดียวกัน คุณสามารถใช้การรวมสถานะใด ๆ ก็ได้ตราบใดที่ทั้งสองโปรแกรมทำงานด้วยค่าสถานะเดียวกัน การรวบรวมผลลัพธ์ควรเป็นแบบคงที่ (เช่นไม่ควรเปลี่ยนแปลงจากการเรียกใช้เพื่อเรียกใช้) หากผลลัพธ์แตกต่างจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งแสดงว่าเครื่องมีจุดประสงค์เพื่อใช้งาน เอาต์พุตของการคอมไพล์ควรเป็นไบต์สำหรับไบต์ที่ไม่เหมือนกัน "เทียบเท่า" หรือ "คล้ายกันมากพอ" ผลลัพธ์ของการคอมไพล์ควรไม่ว่างเปล่า คำเตือน / ข้อผิดพลาดไม่จำเป็นต้องเหมือนกันระหว่างการรวบรวม หากโปรแกรมหรือการคอมไพล์มีอักขระที่ไม่สามารถพิมพ์ได้ให้แน่ใจว่ารวม hexdump …

30
เรียงลำดับรายการหมายเลข [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา เกี่ยวกับ Code-Bowling: ในสนามกอล์ฟคุณพยายามได้คะแนนต่ำสุด (แอพพลิเคชั่นที่เล็กที่สุดสง่างามที่สุด ฯลฯ ) ใน Bowling คุณพยายามทำคะแนนสูงสุด ดังนั้นหากคุณทำตามเป้าหมายของการท้าทายการใช้รหัสคือการทำให้รหัสที่ใหญ่ที่สุดถูกทิ้งร้างมากที่สุดและยากที่สุดในการรักษารหัสที่ยังคงเป็นไปตามข้อกำหนดของความท้าทาย อย่างไรก็ตามไม่มีจุดใดที่จะทำให้แหล่งข้อมูลนั้นนานขึ้นเพื่อประโยชน์ของมัน มันต้องดูเหมือนความยาวที่เพิ่มขึ้นนั้นมาจากการออกแบบไม่ใช่แค่การขยาย ความท้าทาย: สร้างโปรแกรมที่เรียงลำดับรายการตัวเลขตามลำดับจากน้อยไปหามาก ตัวอย่าง: อินพุต: 1, 4, 7, 2, 5 เอาต์พุต: 1, 2, 4, 5, 7 รหัส:เห็นได้ชัดว่านี่จะไม่ใช่คำตอบที่ดีเนื่องจากมี WTF ไม่มากนัก function doSort(array $input) { sort($input); return $input; } กฎ: ไม่มีกฎจริง ตราบใดที่ฟังก์ชั่นของโปรแกรมมีอยู่! ข้อควรจำ:นี่เป็นโบว์ลิ่งรหัสไม่ใช่กอล์ฟ เป้าหมายคือการทำให้โค้ดที่แย่ที่สุดและเลวร้ายที่สุดที่คุณสามารถทำได้! …

3
สร้างโปรแกรมด้วย GOTO ง่ายๆ
งานของคุณคือการสร้างโปรแกรมที่ใหญ่ที่สุดที่คุณสามารถใช้ GOTO หนึ่งตัวโดยไม่ต้องใช้โปรแกรมทั้งหมด (หรืออย่างน้อยก็ชิ้นใหญ่) คะแนนจะถูกนับเป็นจำนวนของข้อความในรหัสของคุณที่เปลี่ยนสถานที่หรือมีการนำมาใช้ใหม่ (การลบข้อความไม่ได้เพิ่มคะแนนของคุณ) เมื่อรหัสนั้นได้รับการปรับโครงสร้างใหม่โดยไม่ต้องมี GOTO (คนอื่น ๆ สง่างามหนึ่ง) เช่นนี้เป็นโบว์ลิ่งรหัสคะแนนสูงสุดชนะ หมายเหตุ: ฉันไม่ได้เรียกร้องความรับผิดใด ๆ สำหรับการโจมตีศาสนโดยพยายามท้าทายนี้

8
สงครามเศษส่วน Bowlers-Golfers
บทนำ เริ่มต้นด้วยการจัดเรียงเศษส่วนทั้งหมดตั้งแต่ 0 ถึง 1 ตามลำดับตัวส่วนที่ต่ำที่สุดแล้วตัวเศษต่ำสุด: 1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 2/5, 3/5, 4/5, 1/6, 5/6, 1/7 ... โปรดทราบว่าจะไม่นับรายการที่ซ้ำกันดังนั้นฉันจึงไม่ได้ระบุ 2/4, 2/6, 3/6 หรือ 4/6 เนื่องจากมีรายการที่ปรากฏในรูปแบบที่เรียบง่ายของพวกเขาแล้ว (1/2, 1/3 และ 2 / 3) ตอนนี้งานของคุณง่าย: กำหนดจำนวนเต็มบวกnเป็นอาร์กิวเมนต์บรรทัดคำสั่งพิมพ์ไปยังเอาต์พุตมาตรฐานnส่วนที่ th ในรายการ ดังนั้นอินพุต5ควรให้เอาต์พุตของ3/4( ไม่ใช่ 0.75) เลอร์ส เป้าหมายของคุณคือการแก้ปัญหานี้ในโปรแกรมที่ยาวที่สุดเท่าที่จะทำได้ คะแนนของคุณคือจำนวนตัวอักษร นักกอล์ฟ เป้าหมายของคุณคือใช้คำตอบที่มีอยู่และกอล์ฟพวกเขา เมื่อเล่นคำตอบเหล่านั้นให้ลบตัวอักษรอย่างน้อยหนึ่งตัวออกจากรหัสแล้วเลือกที่จะจัดเรียงตัวอักษรที่เหลืออยู่ใหม่เพื่อให้รหัสที่ได้นั้นยังคงเป็นคำตอบที่ถูกต้องในภาษาเดียวกัน คะแนนของคุณคือผลผลิตของการลดลงทั้งหมด (ดังนั้นหากคุณลบ 10 ตัวอักษรจากคำตอบเดียวและอีก 15 …

3
Meta-bowling Golf
งานของคุณคือการสร้างโปรแกรมที่สั้นที่สุด (A) ที่เอาท์พุทโปรแกรมอื่น (B) ด้วยไบต์ที่ไม่ซ้ำกันมากที่สุดซึ่งจะส่งผลให้โปรแกรมต้นฉบับ (A) โดยพื้นฐานแล้วคุณกำลังเล่นกอล์ฟโปรแกรมครึ่งหนึ่งของคู่ouroboros (หรือที่รู้จักกันเป็นระยะซ้ำควินิน) และโบว์ลิ่งอีกครึ่งหนึ่ง A และ B อาจเป็นภาษาต่าง ๆ กฎและเกณฑ์การให้คะแนน <number of unique bytes in B> / <number of bytes in A>คะแนนสุดท้ายของคุณคือ คะแนนสูงสุดชนะ ควรสังเกตว่าคะแนนสูงสุดทางทฤษฎีคือ 256 โปรแกรม A ต้องมีความยาวอย่างน้อยหนึ่งไบต์ โปรแกรม B ไม่สามารถประกอบไปด้วย no-ops ทั้งหมดอย่างน้อยหนึ่งตัวอักษรจะต้องส่งผลกระทบต่อการส่งออกในบางวิธี กฎมาตรฐานของผลการทดสอบทั้งสองโปรแกรม โดยเฉพาะอย่างยิ่งไม่อนุญาตให้ใช้ข้อผิดพลาด quines เพื่อความสอดคล้องของรูปแบบคำตอบให้เริ่มคำตอบด้วยสิ่งต่อไปนี้: # <Language for A> & <Language for B>, …

4
คำนวณตัวเลขจริง
คำนิยาม เป็นจำนวนเต็มบวกnเป็นจำนวนปฏิบัติ (OEIS ลำดับA005153 ) IFF nทุกจำนวนเต็มบวกที่มีขนาดเล็กสามารถแสดงเป็นผลรวมของตัวหารที่แตกต่างของ ตัวอย่างเช่น18เป็นจำนวนจริง: ตัวหารคือ 1, 2, 3, 6, 9, และ 18 และจำนวนเต็มบวกอื่น ๆ ที่น้อยกว่า 18 สามารถเกิดขึ้นได้ดังนี้: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

11
สวัสดีชาวโลกด้วยเกลียว
เป้าหมายของคุณ : เพื่อเขียนโค้ดที่จะส่งผลให้เกิดผลลัพธ์แบบคลาสสิกของ "Hello, world!" ถูกพิมพ์ไปยัง STDOUT หรือเทียบเท่า กฎ : รหัสจะต้องอยู่ในการพิมพ์ ASCII ทั้งหมด รหัสทั้งหมดจะต้องใช้งานได้ - การลบอักขระการนับใด ๆ จะต้องเปลี่ยนผลลัพธ์หรือทำให้รหัสไม่ทำงาน ตัวแปรทั้งหมดจะต้องใช้หลังจากการมอบหมาย ตัวอักษรและสตริงตัวอักษรจะต้องมีความจำเป็นต่อเอาท์พุท - นั่นคือการแทนที่ตัวอักษรตัวอักษรใด ๆ หรือตัวละครใด ๆ ภายในสตริงตัวอักษรที่มีตัวละครอื่นจะต้องสามารถเปลี่ยนผล (และไม่ผ่านผลกระทบของลำดับหนี - หรือเทียบเท่า) (หมายเหตุ: แก้ไขกฎขั้นสุดท้ายแล้ว) การให้คะแนน : นี่คือจุดที่น่าสนใจ คะแนนสูงสุดชนะตามจำนวนอักขระตามกฎของการโยนโบว์ลิ่งทั่วไป แต่การใช้อักขระซ้ำ ๆ จะส่งผลให้มีการหักคะแนน โดยเฉพาะ ... การใช้ตัวอักษรและตัวเลขซ้ำ ๆ (az, AZ, 0-9) จะส่งผลให้มีการหัก 3 คะแนนต่อการทำซ้ำ (การใช้ครั้งแรกไม่ส่งผลให้มีการหัก) การใช้เครื่องหมายวรรคตอนพื้นฐานซ้ำ …

11
การจับคู่กรณีค้นหาแทนที่
รับสามอินพุตสตริงข้อความT; สตริงอักขระที่จะแทนที่F; และสตริงอักขระที่จะแทนที่ด้วย, R. สำหรับแต่ละย่อยของTแบบเดียวกับที่ (กรณีตาย) เป็นตัวละครF, Rแทนที่พวกเขากับตัวละครใน อย่างไรก็ตามให้เป็นกรณีเดียวกันกับข้อความต้นฉบับ หากมีตัวละครอื่น ๆ ในRกว่าตัวละครพิเศษควรจะเป็นกรณีเดียวกับที่พวกเขาอยู่ในF Rหากมีตัวเลขหรือสัญลักษณ์ในFแล้วตัวละครที่เกี่ยวข้องในควรเก็บไว้ในกรณีที่พวกเขาได้ในR จะไม่จำเป็นต้องปรากฏในRFT คุณสามารถสมมติว่าข้อความทั้งหมดจะอยู่ในช่วง ASCII ที่พิมพ์ได้ ตัวอย่าง "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

14
โบว์ลิ่งรหัสปรับเปลี่ยนได้
ท้าทายการใช้รหัส เขียนโปรแกรมหรือฟังก์ชั่นที่สร้างเอาต์พุตเดียวกันไม่ว่าคุณจะจัดเรียงซอร์สโค้ดใหม่อย่างไร (เอาต์พุตไม่สามารถเป็นข้อผิดพลาดได้) เกณฑ์การให้คะแนนPangram คะแนนของคุณคือจำนวนอักขระที่ไม่ซ้ำกันในซอร์สโค้ดของคุณ โปรแกรมที่มีซอร์สโค้ดAJBจะมีคะแนนของ3 โปรแกรมที่มีซอร์สโค้ดAAJจะมีคะแนนของ2 โปรแกรมที่มีซอร์สโค้ด111จะมีคะแนนเป็น1 นี่คือตัวแปรรหัสโบลิ่ง โปรแกรมที่มีคะแนนสูงสุดจะเป็นผู้ชนะ! (เพื่อความสะดวกของคุณมีการสร้างเครื่องมือให้คะแนนอัตโนมัติที่นี่ ) กฏท้าทาย อินพุต โปรแกรม / ฟังก์ชั่นสามารถรับอินพุตซึ่งเป็นตัวเลือกทั้งหมด เอาท์พุทเอาท์พุท นี้สามารถเป็นอะไรก็ได้ที่คุณต้องการ แต่มันควรจะไม่ใช่ไม่มี, ไม่ใช่โมฆะ, ไม่ว่างเปล่าและไม่ผิดพลาด (ดังนั้นจะต้องมีอย่างน้อย 1 ไบต์) การจัดเรียงใหม่ ไม่ว่าจะมีการจัดเรียงซอร์สโค้ดใหม่อย่างไรเอาต์พุตควรเหมือนกัน ตัวอย่าง: โปรแกรม: ABJผลhello worldเช่นเดียวกับโปรแกรม: [ AJB, JAB, JBAฯลฯ ] นี่คือตัวแปรรหัสโบลิ่ง โปรแกรมที่มีจำนวนอักขระสูงสุดเป็นผู้ชนะ!

1
ติดตั้งเลขทศนิยมแบบไบนารีของ IEEE 754 64- บิตผ่านการจัดการจำนวนเต็ม
(ฉันติดแท็กคำถาม "C" ในขณะนั้น แต่ถ้าคุณรู้ภาษาอื่นที่สนับสนุนสหภาพคุณสามารถใช้มันได้) งานของคุณคือการสร้างตัวดำเนินการทางคณิตศาสตร์สี่มาตรฐาน+ - * /สำหรับโครงสร้างต่อไปนี้: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } เช่นว่าการดำเนินการของตัวเองเท่านั้นที่จะจัดการหรือเข้าถึงส่วนจำนวนเต็ม (ดังนั้นจึงไม่มีการเปรียบเทียบกับสองครั้งตลอดเวลาในระหว่างการดำเนินการอย่างใดอย่างหนึ่ง) และผลที่ได้คือเหมือนกัน (หรือเทียบเท่าตามหน้าที่ในกรณีของผลลัพธ์ที่ไม่ใช่ตัวเลขเช่นNaN) ราวกับว่าการดำเนินการทางคณิตศาสตร์ที่สอดคล้องกันถูกนำไปใช้โดยตรงกับdoubleแทน คุณอาจเลือกส่วนจำนวนเต็มเพื่อจัดการแม้กระทั่งการใช้ส่วนต่าง ๆ ในตัวดำเนินการที่แตกต่างกัน (คุณสามารถเลือกที่จะลบ "unsigned" ออกจากฟิลด์ใด ๆ ในสหภาพได้แม้ว่าฉันไม่แน่ใจว่าต้องการทำเช่นนั้นหรือไม่) คะแนนของคุณคือผลรวมของความยาวของรหัสเป็นอักขระสำหรับผู้ให้บริการแต่ละราย คะแนนต่ำสุดชนะ สำหรับพวกเราที่ไม่คุ้นเคยกับข้อกำหนด IEEE 754 นี่เป็นบทความเกี่ยวกับเรื่องนี้ใน Wikipedia การแก้ไข: 03-06 …

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