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

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

24
คำนวณรูทคิวบ์ของตัวเลข
เป้าหมายของการเล่นกอล์ฟรหัสนี้คือการสร้างโปรแกรมหรือฟังก์ชั่นที่คำนวณและส่งออกรูทคิวบ์ของตัวเลขที่ได้รับเป็นอินพุต กฎระเบียบ: ไม่มีทรัพยากรภายนอก ไม่มีการใช้ฟังก์ชันรูตคิวบ์ในตัว ไม่มีการใช้วิธีการ / ตัวดำเนินการที่สามารถเพิ่มจำนวนเป็นพลังงาน (ซึ่งรวมถึงรากที่สองรากที่สี่เป็นต้น) ฟังก์ชั่น / โปรแกรมของคุณจะต้องสามารถยอมรับตัวเลขทศนิยมและจำนวนลบเป็นอินพุต ถ้ารูทคิวบ์เป็นตัวเลขทศนิยมให้ปัดเศษเป็น 4 ตัวเลขหลังจุดทศนิยม นี่คือรหัสกอล์ฟรหัสที่สั้นที่สุดเป็นไบต์ชนะ กรณีทดสอบ: 27 --> 3 64 --> 4 1 --> 1 18.609625 --> 2.65 3652264 --> 154 0.001 --> 0.1 7 --> 1.9129 คุณสามารถใช้กรณีทดสอบทั้งหมดข้างต้นเพื่อทดสอบจำนวนลบ ( -27 --> -3, -64 --> -4... )
12 code-golf  math 

30
พิมพ์สตริงด้วยคำแนวตั้ง
งานของคุณคือการใส่สตริงของตัวอักษร ASCII และส่งออกสตริงเป็นชุดของคำในแนวตั้งคั่นด้วยช่องว่าง ตัวอย่างที่แสดงด้านล่าง: รับสาย: Hello, World! My name is Foo. ผลลัพธ์ควรเป็น: H W M n i F e o y a s o l r m o l l e . o d , ! จะได้รับคะแนนโบนัส 10 คะแนนหากโปรแกรมของคุณจัดการสตริงที่ต้องปิดเทอร์มินัลอย่างถูกต้องซึ่งเราจะตั้งไว้ที่ 80 อักขระ 50 คะแนนหากโปรแกรมของคุณสามารถย้อนกลับได้!

2
ติดตั้งล่ามไร้ประโยชน์ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา งานของคุณคือสร้างล่ามให้เป็นภาษาที่ไร้ประโยชน์ : นี่คือความต้องการการทำงาน: คำสั่งที่อธิบายทั้งหมดควรได้รับการยอมรับจากล่าม NO., NOOPและINCLUDE-xxxจะต้องได้รับเกียรติ DONTUSEME(n) ต้องมีวันที่ฐานเพื่อให้สามารถกำหนดค่าให้กับสิ่งที่สมเหตุสมผลสำหรับการทดสอบได้ง่ายขึ้น INCLUDE-xxxจะต้องสามารถสร้างคำสั่งใด ๆ ที่มีความน่าจะเป็นที่เท่าเทียมกันโดยประมาณ ถ้ามันสร้าง a DONTUSEME(n)เขาควรสุ่มเลือกค่าเล็กน้อยสำหรับ n DONTUSEME(n)หน้าต่างควรอยู่รอดจากNO.คำสั่ง เคล็ดลับ: วางกระบวนการใหม่สำหรับหน้าต่างเหล่านั้น BOOM!และKABOOM!จะต้องทำอะไรบางอย่างที่ไม่ดีและน่ากลัวและจะต้องเลวร้ายยิ่งกว่าKABOOM! BOOM!แต่สิ่งนี้จะต้องไม่ถูกนำมาใช้อย่างจริงจังเกินไปดังนั้นจึงไม่ควรเป็นสิ่งที่ทำลายล้างทำลายหรือทำลายยาก กรุณาอย่าทำและอย่าทำให้คำสั่งเหล่านี้เรียกใช้rm -rf \คำสั่งรันการวางระเบิดติดตั้งมัลแวร์ข้อมูลที่เสียหายในระบบไฟล์หรือโพสต์หรือดาวน์โหลดเนื้อหาที่ไม่เหมาะสมจากอินเทอร์เน็ตหรือสิ่งอื่นใดที่ไม่เหมาะสมอย่างชัดเจน TURINGVSALONZOควรทำงานราวกับว่ามันได้ทำในสิ่งที่ควรทำ เคล็ดลับ: ตัดสินใจแบบสุ่มว่าจะนอนนาน ๆ หรือสุ่มเวลาสั้น ๆ หรือตลอดไป ทุกคำแนะนำที่กำหนดไว้ล่วงหน้าอื่น ๆ ควรจะทำอะไรบางอย่างอื่นนอกเหนือจากคำแนะนำดังกล่าวข้างต้นและแตกต่างกันไปอีก แต่ไม่เคยสิ่งที่เลวร้ายยิ่งกว่าหรือBOOM! KABOOM!สิ่งที่พวกเขาทำนั้นขึ้นอยู่กับคุณ แต่การนำไปใช้งานที่เรียบง่ายจะส่งข้อความแสดงข้อผิดพลาดหรือข้อความอื่น ๆ คุณควรจัดให้มีวิธีที่ง่ายสำหรับผู้ใช้ในการจัดเตรียมโปรแกรมที่จะเรียกใช้โดยล่าม เช่นการอ่านข้อความธรรมดาจากไฟล์หรือจากstdinก็โอเค การอ่านจากไฟล์ที่เข้ารหัสที่อื่นในอินเทอร์เน็ตไม่ใช่ ไม่จำเป็น: คุณอาจคิดค้นคำสั่งใหม่บางคำสั่งหากคุณต้องการ แต่ควรอยู่ภายใต้กฎเดียวกันกับคำสั่งอื่น …

6
ลงท่อระบายน้ำมันจะไป
ฉันเคยพบเกมนี้ (มินิ) ที่คุณมีท่อแนวตั้ง 4 ลูกขึ้นไปที่เชื่อมต่อกันด้วยท่อแนวนอนจำนวนหนึ่งและคุณต้องวางลูกบอลหรือน้ำลงในท่อแนวตั้ง มี 2 ​​ชนิดที่ฉันรู้จัก: นำสิ่งของเข้าไปในถัง / ตะกร้าใต้ทางออกอันใดอันหนึ่ง (เดาว่าจะโยนท่อใดลงไป) คาดเดาสิ่งที่วัตถุจะมาจาก ท่อตัวอย่าง: | | |-------| |-------| |-------| | |-------| | |-------|-------|-------| | |-------| | |-------| |-------| |-------| |-------| | |-------| | กฎพื้นฐาน: เมื่อเคลื่อนที่ผ่านท่อแนวนอนวัตถุจะลดลงเมื่อทำได้ เมื่อเคลื่อนที่ผ่านท่อแนวตั้งวัตถุจะเปลี่ยนเป็นท่อแนวนอนเมื่อทำได้ งานของคุณ เขียนโปรแกรมที่จะสร้างกริดสุ่ม (ดูตัวอย่างไปป์) ควรมีท่อแนวตั้งอย่างน้อย 4 ท่อและท่อแนวนอนอย่างน้อย 10 ระดับ ความยาวของท่อแนวตั้งขึ้นอยู่กับคุณ แสดงเส้นทางที่วัตถุไปถึงด้านล่างและแสดงจำนวนรอบที่จะไปถึงที่นั่น (ทางเลือก) อินพุตเพื่อกำหนดจุดเริ่มต้นโดยกำหนดหมายเลขท่อ 1..N จากซ้ายไปขวา …

1
ค้นหาจำนวนของรูปสี่เหลี่ยมในอาร์เรย์ 2D ไบต์
0000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000 0000001111111111111100000000000000000011111111111111100000000000000000 0000001111111111111100000000000000000011111111111111100000000000000000 0000001111111111111100000000000000000011111111111111100000000000000000 0000001111111111111100000000000000000011111111111111100000000000000000 0000000000000000000000000000000000000011111111111111100000000000000000 0000000000000000000000000000000000000011111111111111100000000000000000 0000000000011111100000000000000000000011111111111111100000000000000000 0000000000011111100000000000000000000011111111111111100000000000000000 0000000000011111100000000000000000000011111111111111100000000000000000 0000000000000000000000000000000000000011111111111111100000000000000000 0000000000000000000000000000000000000011111111111111100000000000000000 0000000000000111111000000000000000000011111111111111100000000000000000 0000000000000100001000000111111000000011111111111111100000000010000000 0000000000000100001000000111111000000000000000000000011000000000000000 0000000000000111111000000111111000000000000000000000011000000000000000 0000000000000000000000000000111111000000000000000000000000000000000000 0000000000000000000000000000111111000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000 คุณจะได้รับอาร์เรย์ 2 มิติที่มีขนาดไบต์ mx n มีการรับประกันว่าไบต์ทั้งหมดเป็น 1 หรือ 0 ของ ค้นหาจำนวนของรูปสี่เหลี่ยมผืนผ้าที่แทนด้วย 1 เมื่อดูใน 2d ดังที่แสดงด้านบน เฉพาะรูปสี่เหลี่ยมที่เติมเต็มเท่านั้นที่จะถูกพิจารณาเพื่อนับ รูปสี่เหลี่ยมผืนผ้าจะต้องล้อมรอบด้วย 0 เว้นแต่ว่าพวกเขาอยู่บนขอบ ตัวอย่างเช่นในอาร์เรย์ด้านบนมี 5 รูปสี่เหลี่ยมที่ถูกต้อง คุณสามารถใช้ภาษาใดก็ได้

2
ตีความแผนภาพวงจร
ความท้าทายของคุณคือการตีความแผนภาพวงจรพร้อมด้วยประตูตรรกะ ประตูลอจิก (คุณไม่จำเป็นต้องรู้ว่าสิ่งเหล่านี้ทำอะไร / มีความท้าทายนี้): และประตู: a หรือประตู: o ประตู nand: A หรือประตู: O ประตู xor: x ประตู xnor: X ไม่ใช่ประตู: ~ แต่ละเกท แต่อันสุดท้ายใช้สองอินพุต อินพุตมาจาก.มุมบนซ้ายและมุมล่างซ้ายของ 3 โดย 3 ตรงกลางที่ประตู ไม่เช่นนั้นอินพุตจะอยู่ทางด้านซ้ายโดยตรง เอาท์พุทคือ.ตรงไปทางขวา สายจะถูกแทนด้วย -|\/.= - เชื่อมสายสองเส้นเส้นหนึ่งไปทางขวาและอีกเส้นหนึ่งอยู่ทางซ้าย: c-c | ติดต่อสองสายหนึ่งข้างบนและข้างล่างหนึ่ง: c | c /และ\ทำงานดังนี้: c c \ / c c . ติดต่อทุกสายรอบ: …

4
Mod 7 ใน Manufactoria
ความท้าทายของ Manufactoria ง่าย ๆ คำนวณอินพุตโมดูโล 7 อินพุตจะอยู่ในไบนารีบิ๊ก - เอนเดียน (blue = 1, red = 0) เอาต์พุตควรอยู่ในรูปแบบเดียวกัน กรณีทดสอบให้ ส่วนที่เล็กที่สุดนับเป็นชัยชนะ http://pleasingfungus.com/Manufactoria/?ctm=Mod7;Input:_binary_number_big_endian._Output:_that_binary_number_mod_7;bbb:|brrr:b|brrrr:br|bb:bb|bbrrb:brr|brrrrb:brb|bbrb:bbr; 13; 3; 1 ; (ถ้าอินพุต mod 7 เป็น 0 จะไม่มีผลใด ๆ )

5
ใช้ชุดย่อยของเชลล์สคริปต์
ไซต์นี้มีปัญหามากมายเกี่ยวกับการใช้ภาษาต่างๆในแท็กล่าม อย่างไรก็ตามจริง ๆ แล้วพวกเขาทั้งหมดเป็นภาษาลึกลับที่ไม่มีใครใช้ ใช้เวลาในการสร้างล่ามสำหรับภาษาที่ใช้งานได้จริงซึ่งผู้ใช้ส่วนใหญ่ที่นี่อาจรู้จักอยู่แล้ว ใช่มันเป็นเชลล์สคริปต์ในกรณีที่คุณมีปัญหาในการอ่านชื่อ (ไม่ใช่ว่าคุณมี) (ใช่ฉันตั้งใจทำสิ่งนี้อย่างท้าทายเพราะฉันเบื่อภาษาอย่าง GolfScript และ Befunge ชนะทุกอย่างดังนั้นฉันจึงวางความท้าทายที่ภาษาการเขียนโปรแกรมเชิงปฏิบัติมากขึ้นมีโอกาสชนะมากขึ้น) อย่างไรก็ตามเชลล์สคริปต์เป็นภาษาที่ค่อนข้างใหญ่ดังนั้นฉันจะไม่ขอให้คุณใช้มัน ฉันจะสร้างชุดย่อยของฟังก์ชันเชลล์สคริปต์แทน ชุดย่อยที่ฉันเลือกคือชุดย่อยต่อไปนี้: การดำเนินการโปรแกรม (โปรแกรมจะมีตัวอักษรเท่านั้นแม้ว่าจะอนุญาตให้ใช้เครื่องหมายคำพูดเดี่ยว) ข้อโต้แย้งของโปรแกรม เครื่องหมายคำพูดเดี่ยว (ยอมรับอักขระ ASCII ที่พิมพ์ได้รวมถึงช่องว่างยกเว้นคำพูดเดียว) สตริงที่ไม่ได้ระบุไว้ (อนุญาตให้ตัวอักษรตัวเลขและขีดกลาง ASCII) ท่อ งบเปล่า หลายคำสั่งคั่นด้วยบรรทัดใหม่ ส่วนต่อท้าย / นำหน้า / หลายช่องว่าง ในภารกิจนี้คุณต้องอ่านอินพุตจาก STDIN และรันทุกคำสั่งที่ร้องขอ คุณสามารถสมมติระบบปฏิบัติการที่รองรับ POSIX ได้อย่างปลอดภัยดังนั้นจึงไม่จำเป็นต้องพกพากับ Windows หรืออะไรทำนองนั้น คุณสามารถสรุปได้อย่างปลอดภัยว่าโปรแกรมที่ไม่ได้ถูกไพพ์ไปยังโปรแกรมอื่นจะไม่อ่านจาก STDIN คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าคำสั่งนั้นจะมีอยู่ คุณสามารถสรุปได้อย่างปลอดภัยว่าจะไม่มีการใช้อะไรอีก หากข้อสันนิษฐานที่ปลอดภัยถูกทำลายคุณสามารถทำอะไรก็ได้ คุณสามารถสรุปได้อย่างปลอดภัยที่สุด 15 ข้อโต้แย้งและบรรทัดที่ต่ำกว่า 512 …

12
ลดขนาดสตริงตัวเลข
เมื่อกำหนดสตริง1และ2ความยาวใด ๆ ให้เขียนโค้ดบางส่วน (ไม่จำเป็นต้องมีฟังก์ชั่นอีกต่อไปทุกอย่างจะใช้ได้) ที่คำนวณว่าจำเป็นต้องใช้หลายขั้นตอนในการย่อขนาดสตริงเป็นแบบฟอร์มสุดท้ายโดยทำตามเกณฑ์นี้: ถ้าสายของคุณเป็น112112วิธีที่คุณจะต้องพิมพ์ 1 สอง 1s และ 2 1112เช่นนี้ เมื่อคุณจะดำเนินการอีกครั้งคุณจะต้องพิมพ์ 1 และ 2. 12คุณจะได้รับ จากนั้นคุณพิมพ์หนึ่ง 2 ได้2มา นี่เป็นรูปแบบสุดท้ายเนื่องจากสตริงนี้จะไม่เปลี่ยนแปลงอีกต่อไป รหัสของคุณจะถูกส่งออก3เนื่องจากคุณต้องการ 3 ขั้นตอนเพื่อไปยังแบบฟอร์มสุดท้าย กฎอื่น ๆ หากสตริงมีความยาวไม่สม่ำเสมอตัวเลขสุดท้ายจะไม่ถูกแตะต้อง สตริงทุกตัวที่ไม่สามารถเปลี่ยนแปลงได้อีกต่อไป (เช่น222222) จะถือว่าเป็นรูปแบบสุดท้าย คุณไม่สามารถใช้แหล่งภายนอก รหัสของคุณต้องทำงานกับสตริงของทุกและ12 รหัสที่สั้นที่สุดชนะเพราะมันเป็นรหัสกอล์ฟ รหัสของคุณควรพิมพ์ทุกขั้นตอน ทุกวิธีการป้อนข้อมูลจะถูกปรับ ตัวอย่าง Input >> 122122122121212212 Your code has to print: 211222111111222 11222111222 122111222 2111222 111222 1222 …
12 code-golf 

8
ใช้เวลาในการทาสีนานแค่ไหน?
(ขึ้นอยู่กับปัญหา Math.SE นี้ซึ่งให้กราฟิกบางส่วน) ฉันมีไม้เท้าซึ่งดูเหมือนจะเป็นแบบนี้: ฉันอยากให้มันดูเป็นแบบนี้: อย่างไรก็ตามฉันไม่ได้เป็นจิตรกรผู้เชี่ยวชาญดังนั้นก่อนที่ฉันจะเริ่มโครงการ DIY ที่ทะเยอทะยานฉันต้องการให้แน่ใจว่าฉันไม่ได้อยู่ในหัวของฉัน โปรแกรมของคุณควรบอกฉันว่ามีกี่ขั้นตอนในการทาสีแท่งนี้ แต่ละขั้นตอนเกี่ยวข้องกับการวาดภาพพื้นที่ต่อเนื่องด้วยสีทึบซึ่งครอบคลุมชั้นของสีก่อนหน้า สำหรับตัวอย่างข้างต้นฉันสามารถวาดครึ่งซ้ายสีน้ำเงินครึ่งขวาสีแดงจากนั้นพื้นที่สีเขียวสองแห่งแยกเป็น 4 ขั้นตอนทั้งหมด (สีเขียวไม่ได้ทาสีอย่างต่อเนื่อง) นี่คือใน ASCII: ------ bbb--- bbbrrr bgbrrr bgbrgr มีสองวิธีที่แตกต่างกันในการทาสีคันนี้และจบลงด้วยผลลัพธ์เดียวกัน ฉันสนใจในการประมาณเวลาเท่านั้นซึ่งเป็นสี่ขั้นตอน เป้าหมาย โปรแกรมของคุณควรแสดงจำนวนขั้นต่ำที่จำเป็นในการทาสีแท่งด้วยโทนสีที่กำหนด ชุดรูปแบบสีจะอยู่ในรูปแบบของสตริงอักขระในขณะที่เอาต์พุตจะเป็นตัวเลข นี่คือรหัสกอล์ฟ โปรแกรมที่สั้นที่สุดชนะ อินพุต โปรแกรมของคุณจะได้รับชุดสีสำหรับแท่งในรูปแบบของตัวอักษร แต่ละตัวอักษรที่ไม่ซ้ำกัน (กรณีที่สำคัญ) หมายถึงสีที่ไม่ซ้ำกัน YRYGR grG GyRyGyG pbgbrgrp hyghgy เอาท์พุต ตัวเลขเหล่านี้เป็นขั้นตอนจำนวนน้อยที่สุดที่จำเป็นในการทาสีแท่ง 4 3 4 5 4 คำอธิบาย นี่คือวิธีที่ฉันไปถึงที่หมายเลขด้านบน โปรแกรมของคุณไม่จำเป็นต้องแสดงผลลัพธ์นี้: ----- YYY-- …
12 code-golf  math 

21
เรียงลำดับองค์ประกอบที่แตกต่างของรายการตามลำดับจากมากไปน้อยตามความถี่
เขียนฟังก์ชั่นที่รับรายการหรืออาเรย์แล้วส่งกลับรายการองค์ประกอบที่แตกต่างเรียงลำดับจากมากไปน้อยตามความถี่ ตัวอย่าง: ได้รับ: ["John","Doe","Dick","Harry","Harry","Doe","Doe","Harry","Doe","John"] ค่าตอบแทนที่คาดหวัง: ["Doe","Harry","John","Dick"]
12 code-golf 

1
พระอาทิตย์ขึ้นและพระอาทิตย์ตก
ฉันเป็นคนโรแมนติคฉันชอบพาภรรยาออกไปดูพระอาทิตย์ขึ้นและตกในสถานที่ที่เราอยู่ เพื่อประโยชน์ของการออกกำลังกายนี้สมมติว่าฉันไม่มีรหัสที่สามารถบอกเวลาของพระอาทิตย์ตกหรือพระอาทิตย์ขึ้นสำหรับวันใด ๆ ละติจูดและลองจิจูดฉันจะเกิดขึ้น งานโคดเดอร์ของคุณคือการสร้างรหัสที่เล็กที่สุดเท่าที่จะเป็นไปได้ซึ่งใช้ละติจูดและลองจิจูดทศนิยม (ถ่ายในองศา N และ W ดังนั้นองศา S และ E จะถูกพิจารณาเป็นเนกาทีฟ) และวันที่ในรูปแบบ YYYY-MM-DD ( ตั้งแต่วันที่ 1 มกราคม 2000 เป็นต้นไป) และจะคายสองครั้งในรูปแบบ 24 ชั่วโมงสำหรับพระอาทิตย์ขึ้นและพระอาทิตย์ตก เช่นสำหรับวันนี้ในซิดนีย์, ออสเตรเลีย riseset -33.87 -151.2 2013-12-27 05:45 20:09 โบนัส: -100 ถ้าคุณสามารถแยกตัวในระดับความสูงได้ -100 ถ้าคุณสามารถแยกตัวประกอบการประหยัดเวลากลางวัน รหัสต้องคายเวลาในเขตเวลาที่เกี่ยวข้องที่ระบุในอินพุตตามละติจูดและลองจิจูดหรือในเขตเวลาของเครื่องไคลเอนต์
12 code-golf  math 

5
การวางนัยทั่วไปของหมายเลข Hardy – Ramanujan
1729 หรือที่เรียกว่าหมายเลขHardy – Ramanujanเป็นเลขจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของสองจำนวนเต็มจำนวนเต็มบวกสองวิธี ( 12^3+1^3=10^3+9^3=1729) ได้รับจำนวนเต็มn(ตามที่ป้อนในรูปแบบใดก็ตามที่เป็นธรรมชาติของภาษาที่คุณเลือก) ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกสองตัวที่ยกnกำลังสองในวิธีที่ไม่ซ้ำกัน ไม่มีการใช้แหล่งข้อมูลภายนอก ตัวละครที่ชนะน้อยที่สุด โปรดทราบว่านี้เป็นจริงปัญหาที่ยังไม่แก้n>4สำหรับ สำหรับตัวเลขเหล่านั้นให้โปรแกรมของคุณทำงานตลอดไปในการค้นหาหรือลองใช้! จัดทำขึ้นเพื่อว่าถ้าได้รับเวลาและทรัพยากรที่ไม่สิ้นสุดโปรแกรมจะแก้ปัญหา

23
GolfScript รุ่นปรับปรุง [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันวางแผนที่จะเขียน GolfScript ที่ได้รับการปรับปรุงสำหรับโปรแกรมที่สั้นกว่าซึ่งสามารถทำสิ่งต่างๆได้มากขึ้น นี่ไม่ใช่ความท้าทาย มันเป็นคำขอสำหรับข้อเสนอแนะและเคล็ดลับเกี่ยวกับสิ่งที่ฉันควรทำ (ดูแท็ก) ฉันไม่แน่ใจว่าควรเป็น Community Wiki หรือไม่ หากคุณคิดเช่นนั้นให้ตั้งค่าสถานะสำหรับโมเดอเรเตอร์เพื่อแปลง :) ภาษานี้จะคล้ายกับ GolfScript มาก มันยังคงเขียนในทับทิม อย่างไรก็ตามมันมีความแตกต่างเล็กน้อย: การใช้`เป็นตัวคั่นสตริงเนื่องจากเป็นอักขระที่ผิดปกติดังนั้นจึงจำเป็นต้องหลีกหนีน้อยกว่า (ตัวละครอื่นสามารถแทนที่ฟังก์ชั่นของมันเช่น#(เพิ่มเติมในภายหลัง)) \`เพื่อหลบหนี backtick \\เพื่อหลบหนี backslash และไม่มีลำดับ escape อื่น ๆ หากคุณต้องการขึ้นบรรทัดใหม่เพียงแค่ขึ้นบรรทัดใหม่ตามตัวอักษรที่แท้จริงในสตริง การใช้รูบี้Rationalสำหรับจุดลอยตัวที่แม่นยำซึ่งเป็นข้อบกพร่องสำคัญอย่างหนึ่งของ GolfScript ความสามารถในการแปลงประเภทเป็นประเภทอื่น ตัวอย่างเช่นคุณสามารถแปลงบล็อกเป็นสตริง นิพจน์ทั่วไป "..."สร้างขึ้นอาจจะมี ผู้ประกอบการจะได้รับการโอเวอร์โหลดสำหรับพวกเขาเช่นกัน ตัวอย่างเช่น"\W"~{`Invalid: non-word character`}{`OK`}if. จะดำเนินการโดยอัตโนมัติเมื่อผลักจากตัวแปรเช่นบล็อก วัตถุไฟล์และวันที่เพื่อทำสิ่งต่าง ๆ ที่เป็นไปไม่ได้ใน GolfScript …

13
เคล็ดลับสำหรับการเล่นกอล์ฟใน Befunge
คุณมีเคล็ดลับทั่วไปอะไรสำหรับการเล่นกอล์ฟใน Befunge ฉันกำลังมองหาความคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะกับ Befunge (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ

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