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

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

17
การสร้างล่าม HQ9 +
เป้าหมายของรหัสกอล์ฟนี้คือการสร้างล่ามสำหรับภาษาการเขียนโปรแกรมHQ9 + มี 4 คำสั่งในภาษาการเขียนโปรแกรมนี้: H - พิมพ์ "Hello, world!" Q - พิมพ์ซอร์สโค้ดของโปรแกรม 9 - พิมพ์เนื้อเพลงของเพลง"99 ขวดเบียร์" + - เพิ่มตัวสะสม กฎระเบียบ: เนื่องจากไม่ได้กำหนดตัวสะสมคุณสามารถละเว้นคำสั่ง+ โปรแกรมของคุณควรถามให้ใส่ (อินพุตนี้จะเป็นซอร์สโค้ด) หรือซอร์สโค้ดถูกอ่านจากไฟล์ คุณไม่ได้รับอนุญาตให้ใส่เนื้อเพลง "99 ขวดเบียร์" ลงในไฟล์และอ่านข้อความจากไฟล์ คุณไม่ได้รับอนุญาตให้ใช้อัลกอริทึมการบีบอัดเช่น GZip หรือ BZip เพื่อบีบอัดข้อความเพลง: คุณต้องสร้างอัลกอริทึมการบีบอัดของคุณเอง สิ่งนี้ไม่จำเป็นต้องเป็นอัลกอริทึมที่ซับซ้อน แต่พยายามบีบอัดข้อความให้มากที่สุดเท่าที่จะเป็นไปได้ (โปรดจำไว้ว่านี่คือรหัสกอล์ฟซึ่งเป็นรหัสที่มีจำนวนไบต์น้อยที่สุดที่ชนะ) หากซอร์สโค้ดมีอักขระที่ไม่ใช่H , Q , 9หรือ+ให้เอาท์พุท "ซอร์สโค้ดมีอักขระที่ไม่ถูกต้อง" ก่อนที่จะรันคำสั่งใด ๆ ! ซึ่งหมายความว่าถ้ารหัสที่มาเป็นH1เช่นนั้นไม่ได้มีการส่งออกก่อนที่จะส่งออกHello, world! Source …

30
ตู้เก็บของกับแครกเกอร์: ลำดับที่ห้าองค์ประกอบ
ความท้าทาย ความท้าทาย "สายลับกับสายลับ" ที่เรียบง่าย เขียนโปรแกรมด้วยข้อกำหนดต่อไปนี้: โปรแกรมอาจเขียนเป็นภาษาใดก็ได้ แต่ต้องไม่เกิน 512 ตัวอักษร (ตามที่แสดงในบล็อกรหัสบนเว็บไซต์นี้) โปรแกรมต้องยอมรับจำนวนเต็ม 32- บิตที่ได้รับการรับรอง 5 รายการเป็นอินพุต มันสามารถใช้รูปแบบของฟังก์ชั่นที่ยอมรับข้อโต้แย้ง 5 ฟังก์ชั่นที่ยอมรับอาร์เรย์ 5 องค์ประกอบเดียวหรือโปรแกรมสมบูรณ์ที่อ่านจำนวนเต็ม 5 ตัวจากอินพุตมาตรฐานใด ๆ โปรแกรมจะต้องส่งออกจำนวนเต็ม 32 บิตแบบมีลายเซ็นหนึ่งรายการ โปรแกรมจะต้องส่งคืน 1 ถ้าหากทั้งห้าอินพุตตีความเป็นลำดับตรงกับลำดับเลขคณิตเฉพาะของการเลือกโปรแกรมเมอร์เรียกว่า "กุญแจ" ฟังก์ชันต้องส่งคืน 0 สำหรับอินพุตอื่นทั้งหมด ลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบที่ต่อเนื่องของลำดับนั้นเท่ากับบรรพบุรุษของมันบวกค่าคงที่คงที่ aลำดับเลขคณิตมีคุณสมบัติที่แต่ละองค์ประกอบต่อเนื่องของลำดับเท่ากับบรรพบุรุษของมันบวกบางคงที่คงที่ ตัวอย่างเช่น25 30 35 40 45เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบของลำดับนั้นเท่ากับบรรพบุรุษของมันบวก 5 เช่นเดียวกัน17 10 3 -4 -11เป็นลำดับเลขคณิตเนื่องจากแต่ละองค์ประกอบมีค่าเท่ากับ precessor บวก -7 ลำดับ1 …

30
วิธีที่สั้นที่สุดเพื่อกลับจำนวน
เขียนฟังก์ชั่น (หรือโปรแกรมย่อยเทียบเท่า) เพื่อยอมรับอาร์กิวเมนต์ค่าจำนวนเต็มเดี่ยวและส่งกลับค่า (พิมพ์คล้ายกัน) ที่พบโดยการกลับคำสั่งของตัวเลขฐาน 10 ของอาร์กิวเมนต์ ตัวอย่างเช่นได้รับ 76543 ผลตอบแทน 34567
31 code-golf  number 

29
สนามมืด (Earth Hour Remembrance)
เป้าหมายของคุณเป็นเรื่องง่าย: โปรแกรมต้องเปิดหน้าจอคอมพิวเตอร์ของคุณสีดำทั้งหมด หลังจากที่โปรแกรมเริ่มทำงานหน้าจอจะต้องเปลี่ยนเป็นสีดำอย่างรวดเร็วและยังคงอยู่จนกว่าโปรแกรมจะออก (คีย์ใด ๆ หรือ alt + F4 การเคลื่อนไหวของเมาส์เป็นต้น) หลังจากนั้นสิ่งต่าง ๆ ควรกลับมาเป็นปกติ ดังนั้นปิดเครื่องคอมพิวเตอร์หรือการเปลี่ยนอำนาจในการปิดจอภาพไม่ได้รับอนุญาต ไม่ควรมองเห็นพิกเซลที่ไม่ใช่สีดำเดียวในช่วงเวลานี้แม้กระทั่งเคอร์เซอร์ที่กะพริบ ผู้ใช้ไม่ควรเตรียมการใด ๆ (เลื่อนเมาส์ออกนอกหน้าจอถอดสายเคเบิล ฯลฯ หรือป้อนข้อมูลผู้ใช้หลังจากที่โปรแกรมเริ่มทำงาน) เพียงแค่เริ่มโปรแกรม คุณสามารถสันนิษฐานได้ว่าคอมพิวเตอร์มีจอภาพเพียงจอเดียวเท่านั้น นอกจากนี้เรายังถือว่าคอมพิวเตอร์เดสก์ท็อปหรือโน้ตบุ๊กมาตรฐานเพราะการทำมันบนอุปกรณ์เฉพาะที่ไม่มีจอภาพปกติจะง่ายเกินไป หากคุณใช้ทรัพยากรภายนอกใด ๆ (ภาพสีดำไฟล์ GUI ฯลฯ ) ขนาดของไฟล์เป็นไบต์จะถูกเพิ่มเข้าไปในขนาดรหัสของคุณ ไม่เป็นไรถ้าใช้งานได้กับระบบปฏิบัติการตระกูลเดียวหรือถ้าต้องการ OpenGL และอื่น ๆ แต่ต้องมีการกำหนดค่าฮาร์ดแวร์เฉพาะอย่างมาก ซอร์สโค้ดของคุณต้องเขียนด้วยภาษาการเขียนโปรแกรมไม่ใช่เฉพาะไฟล์กำหนดค่าบางโปรแกรมอื่น (เช่นโปรแกรมรักษาหน้าจอ) จะใช้งาน
31 code-golf 

30
ตรวจสอบว่าตัวเลขหารด้วย 13 (ไม่ใช้ 13 ตัวเอง) หรือไม่ [ปิด]
ความท้าทายของคุณคุณควรเลือกที่จะยอมรับมันคือการสร้างฟังก์ชั่นหรือโปรแกรมที่ส่งออก "ใช่" ถ้าจำนวนที่กำหนดคือหารด้วย 13 และเอาท์พุท "ไม่" ถ้ามันไม่ได้ กฎ: - คุณไม่ได้รับอนุญาตให้ใช้หมายเลข 13 ทุกที่ - ไม่มีคำพ้องแบบคัดออกสำหรับทั้ง 13 ข้อ (เช่นใช้ 15 - 2) - คะแนนโบนัสจะได้รับเมื่อไม่ได้ใช้โมดูลัสและโบนัสเพิ่มเติมสำหรับการไม่ใช้ส่วน การให้คะแนน: - คะแนนของคุณจะเป็นจำนวนไบต์ในโค้ดของคุณ ( ไม่รวมช่องว่าง) คูณด้วยโบนัสของคุณ - หากคุณไม่ได้ใช้มอดุลัสโบนัสนั้นคือ 0.90; หากคุณไม่ได้ใช้การแบ่งโบนัสนั้นคือ 0.90 - หากคุณไม่ได้ใช้อย่างใดอย่างหนึ่งโบนัสนั้นคือ 0.80 - ยิ่งคะแนนของคุณต่ำลงเท่าไหร่ก็ยิ่งดีเท่านั้น อินพุตจะเป็นจำนวนเต็มมากกว่า 0 และน้อยกว่า 2 ^ 32 เสมอ ผลลัพธ์ของคุณควรเป็น "ใช่" หรือ "ไม่" ง่าย …

3
พิมพ์ดีดเมา
พื้นหลัง นักพิมพ์ดีดกลับมาบ้านหลังจากดื่มเหล้ารัมบ้างแล้วก็ตระหนักว่าจดหมายที่นำเข้ายังคงไม่ถูกต้อง เพื่อให้แน่ใจว่าเขาได้แก้ไขข้อความให้ถูกต้องเขาเขียนตัวอักษรข้อความ bh vjaracter t0 ให้แน่ใจว่ามี 6 ชั่วโมง อย่างไรก็ตามเขาจะจัดการ t0 พลาดกุญแจบางอย่าง ภารกิจ Yout คือเขียน cose ที่จำลอง ttping ของเขา ฉันสั่งให้ลดโอกาสเกิดข้อผิดพลาดรหัสควรสั้นที่สุดเท่าที่ posw9ble แป้นพิมพ์ แป้นพิมพ์เป็นแป้นพิมพ์มาตรฐาน ANSI ในภาพด้านล่างข้อความสีแดงแสดงความกว้างของปุ่ม ทุกแถวมีความสูง 1 หน่วยและปุ่มที่ไม่มีเครื่องหมายคือความกว้าง 1 หน่วย ปุ่มดำเนินการต่อไปนี้ (การแสดงรายการเพียงเพื่อป้องกันความสับสน): Shiftไม่ได้ทำอะไรด้วยตัวเอง แต่ถ้ากดขวาก่อนคีย์ปกติมันจะเปลี่ยนผลลัพธ์ CapsLockสลับ Caps Lock หาก Caps Lock เปิดอยู่ปุ่มตัวอักษรจะแสดงตัวอักษรที่ใส่ซองออก Backspaceลบอักขระเอาต์พุตสุดท้ายหากมี Tab , ReturnและSpaceแทรกอักขระแท็บ, บรรทัดใหม่และช่องว่างตามลำดับ Ctrl , Altเป็นเพียงงานนำเสนอ พวกเขา …

30
สลับดัชนีทั้งสองที่ระบุ
ให้อาร์เรย์ของจำนวนเต็มบวกและดัชนีที่ถูกต้องสองค่าที่ถูกต้องคืนอาร์เรย์ด้วยองค์ประกอบสองตัวที่สอดคล้องกับดัชนีทั้งสองที่สลับกัน คุณอาจเลือกที่จะใช้การจัดทำดัชนี 0 หรือการจัดทำดัชนี 1 แต่ตัวอย่างด้านล่างจะได้รับการจัดทำดัชนี 0 array m n output [1,2,3,4] 0 1 [2,1,3,4] [5,8,9] 0 2 [9,8,5] [11,13,15,3] 1 2 [11,15,13,3] [11,13,15,3] 2 1 [11,15,13,3] [11,15,15,3] 2 1 [11,15,15,3] นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์ ช่องโหว่มาตรฐานใช้

30
ลบเลขศูนย์นำหน้าและต่อท้าย
รับรายการ / อาร์เรย์ที่ไม่ว่างเปล่าที่มีจำนวนเต็มไม่เป็นลบเท่านั้นเช่นนี้ [0, 0, 0, 8, 1, 4, 3, 5, 6, 4, 1, 2, 0, 0, 0, 0] เอาท์พุทรายการที่มีศูนย์ต่อท้ายและเลขศูนย์นำออก ผลลัพธ์สำหรับสิ่งนี้จะเป็น: [8, 1, 4, 3, 5, 6, 4, 1, 2] กรณีทดสอบอื่น ๆ : [0, 4, 1, 2, 0, 1, 2, 4, 0] > [4, 1, 2, 0, 1, 2, 4] …

1
ทำให้ฉันสับสนเพื่อแก้ไขปัญหาการหยุดชะงัก
โปรดทราบ:โดยธรรมชาติแล้วข้อมูลจำเพาะสำหรับความท้าทายนี้ยากที่จะเข้าใจ มันอาจจะต้องมีหลักสูตรน้องใหม่อย่างน้อยในทฤษฎีการคำนวณหรือการอ่านพื้นหลังเทียบเท่า นอกจากนี้ความท้าทายนั้นค่อนข้างยาก การตอบมันจะต้องเขียนล่ามทั้งหมดสำหรับบางส่วนของภาษาที่คุณเลือกและไม่เพียงแค่นั้น แต่ล่ามจะต้องอยู่ในรูปแบบของบางอย่างเช่นควินิน หากคำตอบของคุณไม่ได้ทำทั้งหมดนี้ก็เกือบจะไม่เป็นไปตามข้อกำหนด คุณไม่จำเป็นต้องแก้ปัญหาการหยุดพัก (แม้แต่บางส่วน) เพื่อแก้ปัญหานี้ อย่างไรก็ตามคุณเกือบจะต้องเขียนล่าม (ของภาษาที่คุณใช้, เขียนในภาษาเดียวกันกับที่แปล) แม้ว่ามันจะไม่จำเป็นต้องมีคุณสมบัติที่สมบูรณ์ นี่คือสิ่งที่ทำให้สิ่งนี้เป็นความท้าทายที่น่าสนใจ ฉันสัญญาว่าจะได้รับรางวัลเงินรางวัล 500 ชี้ไปที่คำตอบแรกที่ตรงกับสเป็คและนี้จะได้รับการตอบ BF โจของพระบาทสมเด็จพระเจ้าอยู่หัว ความท้าทาย เวอร์ชันที่เรียบง่ายและเรียบง่ายของการพิสูจน์ของอลันทัวริงเรื่องความไม่สามารถแก้ปัญหาการหยุดชะงักได้มีดังนี้: สมมติว่าฉันได้เขียนโปรแกรมFที่มีไว้เพื่อแก้ปัญหาโปรแกรมหยุดทำงาน นั่นคือFใช้ซอร์สโค้ดของโปรแกรมอื่นเป็นอินพุตและF(G)ควรส่งคืน1ถ้าGหยุดและ0อย่างอื่น แต่ถ้าฉันให้โปรแกรมของฉันแก่คุณคุณFก็สามารถสร้างโปรแกรมอื่นHได้นั่นคือการรันโปรแกรมของฉันด้วยHการป้อนข้อมูลของมัน หากF(H)ผลตอบแทน0นั้นHกลับ0มา แต่อย่างอื่นมันจงใจเข้าไปในวงไม่สิ้นสุด สิ่งนี้นำไปสู่ความขัดแย้งและเราต้องสรุปว่าFไม่สามารถแก้ปัญหาการหยุดชะงักได้ งานของคุณคือการเขียนโปรแกรมHแต่ด้วยการบิด: ฉันจะไม่ให้โปรแกรมของฉัน แต่โปรแกรมของคุณจะได้รับซอร์สโค้ดของโปรแกรมเป็นอินพุต นั่นคือ: โปรแกรมของคุณจะได้รับโปรแกรมของฉันเป็นอินพุตในรูปแบบซอร์สโค้ด (เช่นเป็นไฟล์หรืออินพุตบรรทัดคำสั่งรายละเอียดขึ้นอยู่กับคุณ) โปรแกรมของฉันจะเขียนเป็นภาษาเดียวกับโปรแกรมของคุณและยังป้อนข้อมูลในรูปแบบของสตริงซอร์สโค้ด หากโปรแกรมของฉันกลับมา0เมื่อให้โปรแกรมของคุณเป็นอินพุตโปรแกรมของคุณควรหยุด (และกลับมา0) เมื่อให้โปรแกรมของฉันเป็นอินพุต (ความหมายที่แท้จริงของ "การรักษา0" ขึ้นอยู่กับคุณ) หากโปรแกรมของฉันไม่หยุดทำงานหรือหากโปรแกรมส่งคืนสิ่งอื่นนอกเหนือจาก0เมื่อให้โปรแกรมของคุณเป็นอินพุตโปรแกรมของคุณควรทำงานต่อไปเรื่อย ๆ การบิดคือการทำให้ยากขึ้นจริงๆคุณต้องทำตามกฎต่อไปนี้: คุณไม่สามารถใช้ฟังก์ชันในตัวexecหรือevalชนิดใดก็ได้ คุณไม่สามารถใช้วิธี "โกง" เพื่อรับซอร์สโค้ดของโปรแกรมของคุณเอง (เช่นคุณไม่สามารถพูดว่า "บันทึกสิ่งนี้ในไฟล์ชื่อ 'โปรแกรม'" …

14
2 Cats in Quine
ท้าทาย สร้างสองโปรแกรมคือ A และ B ซึ่งเป็นทั้งโปรแกรม cat ในภาษาเดียวกัน เมื่อต่อกัน AB (ในภาษาเดียวกัน) ควรเป็น quine ตัวอย่างเช่นสมมติว่าhelloและworldมีทั้งโปรแกรมแมวในภาษา XYZ หากhelloworldเป็นควินในภาษาดังกล่าวแสดงว่าการแก้ปัญหาของคุณถูกต้อง สำหรับผู้ที่คุณไม่คุ้นเคยกับแมวและควินินโปรแกรมแมวเป็นโปรแกรมที่พิมพ์สิ่งที่ได้รับจาก stdin และ quine เป็นโปรแกรมที่พิมพ์ซอร์สโค้ดของมันเอง เกณฑ์การให้คะแนนและกฎ จำนวนไบต์ทั้งหมดของโปรแกรมเชื่อมต่อ AB คือคะแนนของคุณ เช่นนี้เป็นรหัสกอล์ฟคะแนนต่ำสุดชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม อินพุตต้องถูกนำมาจาก stdin และเอาต์พุตต้องไปที่ stdout โปรแกรม cat ไม่จำเป็นต้องทำการโต้แย้ง พวกเขาเพียงต้องการคัดลอก stdin ไปยัง stdout ควินินควรทำงานเมื่อโปรแกรมไม่ได้รับอินพุต แต่ไม่ต้องทำงานอย่างถูกต้อง (แต่อาจ) สำหรับอินพุตอื่น ควินินไม่จำเป็นต้องยกเลิกหากมันพิมพ์รหัสแหล่งที่มาเพียงครั้งเดียวไม่มีอะไรเพิ่มเติม ควินินต้องมีความยาวอย่างน้อยหนึ่งไบต์ A และ B สามารถเป็นโปรแกรมเดียวกันได้ BA ไม่จำเป็นต้องเป็น …
30 code-golf  quine 

3
สร้างภาษากอล์ฟกับฉัน
ผู้ใช้ PPCG จำนวนมากช่วยในการสร้างความท้าทายนี้ทั้งในการแชทและแซนด์บ็อกซ์โดยเฉพาะมาร์ตินเอนเดอร์ , AdmBorkBork , Emignaและuser202729 ชุมชนของเราพบว่าจำเป็นต้องสร้างชุดภาษาที่ออกแบบมาเฉพาะสำหรับการเล่นกอล์ฟ "ภาษาการเล่นกอล์ฟ" ในขณะที่เราเรียกพวกเขา ภาษาดังกล่าวได้พัฒนามาจากที่ยอดเยี่ยมครั้งนี้ clunky GolfScriptกับภาษาที่กระชับเงาเช่นเยลลี่และแกลบ อย่างที่เราเห็นภาษาเหล่านี้สั้นลงเรื่อย ๆ สำหรับชุดของงาน ดังนั้นในฐานะผู้เชี่ยวชาญที่ชัดเจนเกี่ยวกับภาษากอล์ฟเราควรออกแบบภาษาร่วมกันเพื่อเอาชนะภาษาอื่น ๆ ทุกภาษาที่กล้าแข่งขัน แนะนำ Bugle! แตร: จากตัวย่อ BuGoL: Bu ILT ไป lfing L anguage ความท้าทายนี้จะทำงานอย่างไร ในกรณีที่คุณไม่ได้รับสิ่งที่ฉันพูดถึงในการแนะนำความท้าทายนี้เป็นความท้าทายคำตอบที่เราแต่ละคนมีส่วนร่วมกับล่ามภาษากอล์ฟใหม่ปรับปรุงความสามารถในการแข่งขันบน PPCG ด้วยคำตอบแต่ละข้อ ฉันจะโพสต์คำตอบแรกประกอบด้วยพื้นฐานของ spec / ล่ามภาษาและคำตอบอื่น ๆ ทั้งหมดจะดำเนินการต่อจากนั้น การส่งใหม่จะให้สิ่งต่อไปนี้: การเปลี่ยนแปลงข้อมูลจำเพาะของภาษา ล่ามที่ทันสมัยและตรงกับสิ่งที่วางไว้ในการเปลี่ยนแปลง คะแนนที่อัปเดตของภาษา (รายละเอียดเพิ่มเติมเล็กน้อย) คุณสามารถเปลี่ยนข้อมูลจำเพาะได้หนึ่งในสามวิธี: คุณอาจเพิ่มคำสั่งเดียว คุณสามารถเพิ่มคำสั่งใหม่สองคำสั่ง คุณสามารถแก้ไขพฤติกรรมของคำสั่งที่มีอยู่ได้ เกี่ยวกับล่ามใหม่คุณต้องใช้เวอร์ชันล่าสุดเขียนด้วย …

4
ชีวิตอาจมีสีสัน!
แต่ละเซลล์ในหุ่นยนต์เซลลูล่าร์ที่มีชีวิตเหมือนต้องการเพียงหนึ่งบิตในการเป็นตัวแทนเพราะมันจะมีชีวิตอยู่หรือตายไปเท่านั้น นั่นหมายความว่ามีเพียงสองสี; ค่อนข้างน่าเบื่อ. ภาพปกติมี 24 บิตต่อพิกเซล (8 ในแต่ละ RGB) ซึ่งหมายความว่าในภาพปกติที่มีพิกเซลเป็นเซลล์คุณสามารถจำลองเกมเหมือนชีวิต 24 เกมได้ในครั้งเดียว! ท้าทาย งานของคุณคือการเขียนโปรแกรมที่จะใช้กฎหนึ่งรุ่นของหุ่นยนต์เซลลูล่าร์ที่เหมือนสิ่งมีชีวิตกับภาพความลึก 24 บิต (ในรูปแบบที่รู้จักกันดีที่คุณต้องการ) และส่งออกภาพผลลัพธ์ แต่ละเลเยอร์ทั้ง 24 เลเยอร์จะใช้กฏเหมือนเหมือนชีวิตอย่างเคร่งครัดภายในเลเยอร์ของตัวเอง 24 เลเยอร์ไม่โต้ตอบซึ่งกันและกัน ด้วย ศูนย์คือเซลล์ที่ตายแล้วและเซลล์นั้นเป็นเซลล์ที่มีชีวิต เงื่อนไขขอบเขตเป็นระยะ (ก่อตัวพรู) ขนาดรูปภาพใด ๆ ควรใช้งานได้ Input / Output โปรแกรมของคุณต้องใช้เวลา 3 ข้อโต้แย้งผ่าน stdin หรือบรรทัดคำสั่ง (หรือภาษาที่ใกล้เคียงที่สุดของคุณ): ชื่อของไฟล์ภาพอินพุต สตริงของตัวเลข 0 ถึง 8 ตามลำดับที่เพิ่มขึ้นซึ่งหมายถึงเมื่อเกิดเซลล์ใหม่: ถ้าหลักdอยู่ในสตริงแล้วเซลล์ที่ตายแล้วมามีชีวิตอยู่เมื่อพวกเขามีdเพื่อนบ้านที่อยู่อาศัย ตัวอย่าง: 3เป็นเรื่องปกติของชีวิต - เซลล์ที่ตายแล้วพร้อมกับเพื่อนบ้านที่มีชีวิต …

7
หมอตำแย! ฉันเป็นนายอำเภอของรหัสกอล์ฟ!
เป็นไปได้ว่าทุกคนที่ใช้ Twitter เมื่อสองสามเดือนก่อนจะรู้เกี่ยวกับ 'Howdy! ฉันเป็นนายอำเภอแห่ง X "meme ภาพวาดที่เรียบง่ายของนายอำเภอถูกวาดด้วยอิโมจิและการเปลี่ยนแปลงเพื่อให้เข้ากับธีมดังนั้นฉันคิดว่ามันถึงเวลาแล้วที่ Sheriff of Code Golf ที่นี่เขาอยู่: ### ##### ### ### ### # ##### # # # # # # # # # # ### # # # # # # # # โดยเฉพาะอันนี้มี 'พิกเซล' ซึ่งมีความกว้างหนึ่งอักขระและสูงหนึ่งตัว เพื่อสร้างเขาข้อโต้แย้งจะเป็น 1 และ 1 เกิดอะไรขึ้นถ้าเขาจะกว้างกว่าเขาสูง? ###### ########## ###### …

30
สร้างอาร์เรย์สี่เหลี่ยมจากมุมใหม่
ฉันเคยมีอาร์เรย์เป็นรูปสี่เหลี่ยมผืนผ้าที่สวยงาม มันค่อนข้างสมมาตร แต่โชคไม่ดีที่มันพังทลายและตอนนี้ฉันมีมุมซ้ายบนเท่านั้น งานของคุณคือการสร้างอาร์เรย์เดิมขึ้นมาใหม่ โปรแกรมของคุณจะได้รับอาร์เรย์จำนวนเต็มสองมิติ เพื่อความสะดวกในการวิเคราะห์คุณอาจคิดว่ามันอยู่ระหว่าง 1 ถึง 9 งานของคุณคือการกลับคอลัมน์ของแถว, แถวของมันและทั้งสองกลับเข้าที่มุมผลลัพธ์และกลับอาร์เรย์ผลลัพธ์ คุณสามารถสันนิษฐานได้ว่าขนาดของอาร์เรย์จะมีอย่างน้อย 1x1 กรณีทดสอบ: Input: 1 2 3 4 5 6 Output: 1 2 3 3 2 1 4 5 6 6 5 4 4 5 6 6 5 4 1 2 3 3 2 1 Input: 1 Output: 1 …

6
ค้นหาช่วงเวลาใน Pi
เวลามีอยู่ทุกหนทุกแห่ง ... พวกเขาซ่อนตัวอยู่ใน Pi 3.141592653 58979 3238 462643 3832 795028841 971693993751 มารับช่วงเวลาเหล่านั้น! ความท้าทาย ให้เป็นอินพุทเป็นจำนวนเต็มn>0ค้นหาว่ามีจำนวนเฉพาะซ่อนอยู่ภายในnตัวเลขแรกของPi ตัวอย่าง สำหรับเราควรจะค้นหาเฉพาะในn=3 [3,1,4]มี 2 ​​ช่วงเวลา(3,31)ดังนั้นรหัสของคุณควรส่งออก2 สำหรับn=1010 หลักแรกคือ[3,1,4,1,5,9,2,6,5,3]และรหัสของคุณควรส่งออก12เพราะ[2, 3, 5, 31, 41, 53, 59, 653, 4159, 14159, 314159, 1592653]ถูกซ่อนอยู่ (และพบ!) กรณีทดสอบ อินพุต -> เอาต์พุต 1->1 3->2 13->14 22->28 42->60 50->93 150->197 250->363 500->895 กฎระเบียบ รหัสของคุณจะต้องสามารถค้นหาช่วงเวลาทั้งหมดอย่างน้อยn=50 ใช่คุณสามารถhardcode 50 …
30 code-golf  math  primes  pi 

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