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

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

3
Tiny Lisp ล่ามจิ๋ว
เสียงกระเพื่อมโปรแกรมเมอร์โม้ว่าเสียงกระเพื่อมเป็นภาษาที่มีประสิทธิภาพซึ่งสามารถสร้างขึ้นจากชุดขนาดเล็กมากของการดำเนินงานดั้งเดิม tinylispขอนำความคิดที่ว่าในการปฏิบัติโดยการเล่นกอล์ฟล่ามภาษาที่เรียกว่า ข้อกำหนดภาษา ในสเปคนี้เงื่อนไขใด ๆ ที่ผลลัพธ์ถูกอธิบายว่า "ไม่ได้กำหนด" อาจทำอะไรก็ได้ในล่ามของคุณ: ล้มเหลวล้มเหลวอย่างเงียบ ๆ สร้าง gobbldegook แบบสุ่มหรือทำงานตามที่คาดไว้ การดำเนินการอ้างอิงในหลาม 3 สามารถใช้ได้ที่นี่ วากยสัมพันธ์ ราชสกุลใน tinylisp มี(, )หรือสตริงใด ๆ ของหนึ่งหรือพิมพ์ตัวอักษร ASCII ยกเว้นวงเล็บหรือพื้นที่ (เช่น regex ต่อไปนี้: [()]|[^() ]+.) โทเค็นใด ๆ ที่ประกอบด้วยตัวเลขทั้งหมดเป็นตัวอักษรจำนวนเต็ม (ศูนย์ชั้นนำจะถูก.) โทเค็นใด ๆ ที่มีตัวเลขที่ไม่ใช่เป็นสัญลักษณ์แม้ตัวอย่างตัวเลขที่ดูชอบ123abc, และ3.14 -10ช่องว่างทั้งหมด (รวมถึงอย่างน้อยที่สุดตัวอักษร ASCII 32 และ 10) จะถูกละเว้นยกเว้นตราบเท่าที่มันแยกโทเค็น โปรแกรม tinylisp ประกอบด้วยชุดของการแสดงออก แต่ละนิพจน์เป็นจำนวนเต็มสัญลักษณ์หรือเอส - …

14
{เบอร์หยิก};
ในการเขียนโปรแกรมภาษาลึกลับหยิกโปรแกรม แต่เพียงการประกอบวงเล็บปีกกาและอัฒภาค{} ;แม้ชุดเครื่องมือต่ำต้อยนี้ลอนมีตัวอักษรที่สามารถแสดงจำนวนเต็มที่ไม่ใช่ค่าลบใด ๆ รูปแบบนั้นค่อนข้างยากสำหรับผู้ที่ไม่ได้ฝึกอ่านดังนั้นให้เขียนโค้ดเพื่อทำการแปลงให้เรา รูปแบบของตัวเลข ตัวเลขลอนมีโครงสร้างตามกฎต่อไปนี้: การเพิ่มเซมิโคลอนเพิ่มหนึ่งหมายเลข จำนวนที่อยู่ในเครื่องหมายปีกกาจะถูกคูณด้วยสี่ กลุ่มที่มีรั้งเป็นลอนอาจซ้อนกัน แต่ไม่ได้ต่อกัน เครื่องมือจัดฟันต้องตรงกันอย่างถูกต้อง เครื่องหมายอัฒภาคนอกชุดเครื่องหมายปีกกาจะต้องมาหลังจากนั้นไม่ใช่มาก่อน เพื่อหลีกเลี่ยงความคลุมเครือในการแยกวิเคราะห์ตัวเลขต้องเริ่มต้นด้วยวงเล็บปีกกาเสมอ ตัวอย่างบางส่วน: {;;} 2*4 = 8 {{;};}; (1*4+1)*4+1 = 21 {};;; 0*4+3 = 3 (โปรดทราบว่ากฎ 5 หมายถึงตัวเลข 0 ถึง 3 จะต้องเริ่มต้นด้วยวงเล็บปีกกาว่างเปล่าคู่) และตัวอย่างที่ไม่ถูกต้อง: {{;}{;;}} Curly brace groups side-by-side, not nested {;}} Unmatched brace {;{;}} Semicolon before curly-brace group …

11
การคูณด้วยการดัดแปลงตัวเอง
... อย่างน้อยสำหรับคำจำกัดความของ "การดัดแปลงตนเอง" งาน ในความท้าทายนี้งานของคุณคือการเขียนสามสายA, BและCที่ตอบสนองคุณสมบัติดังต่อไปนี้ สตริงBมีความยาวอย่างน้อย 1 สำหรับทุก ๆn ≥ 0สตริงเป็นโปรแกรมที่ถูกต้อง (หมายถึงโปรแกรมที่รันได้เต็มหรือนิยามฟังก์ชัน) ในภาษาการเขียนโปรแกรมที่คุณเลือก ยกหมายถึงการทำซ้ำเพื่อให้ที่นี้หมายถึงสตริง, , , ฯลฯ แต่ละโปรแกรมจะใช้เวลาหนึ่งสตริงเป็น input และผลตอบแทนที่หนึ่งสายเป็นผลผลิตABnCACABCABBCABBBC สำหรับการใด ๆm, n ≥ 0ถ้าโปรแกรมจะดำเนินการด้วยการป้อนข้อมูลก็จะส่งกลับ สำหรับอินพุตที่ไม่ใช่แบบฟอร์มนี้โปรแกรมอาจทำสิ่งใดก็ได้รวมถึงข้อขัดข้องABmCABnCABm*n+1C ตัวอย่างบางส่วนในรูปแบบprogram(input) -> output: AC(AC) -> ABC ABC(AC) -> ABC ABBBBBC(AC) -> ABC AC(ABC) -> ABC AC(ABBBBC) -> ABC ABC(ABC) -> ABBC ABBC(ABC) -> …

15
คำศัพท์ที่สมดุล
ความท้าทายนี้ถูกโพสต์ลงบน subreddit ของ DailyProgrammer และฉันคิดว่ามันจะเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการแข่งขันกอล์ฟรหัส การพิจารณาว่ายอดคงเหลือจดหมายจะขึ้นอยู่กับระยะทางจากจุดสมดุลและมูลค่าของจดหมาย ค่าของตัวอักษรสามารถกำหนดได้โดยรับตำแหน่งหนึ่งดัชนีในตัวอักษรหรือโดยการลบ 64 จากค่า ASCII นอกจากนี้ค่าของตัวอักษรจะถูกคูณด้วยระยะทางจากจุดสมดุล ลองมาดูตัวอย่างSTEAD: STEAD -> 19, 20, 5, 1, 4 ASCII values This balances at T, and I'll show you why! S T EAD -> 1*19 = 1*5 + 2*1 + 3*4 Each set of letters on either side sums to …
33 code-golf 

22
ทรัมป์ต้องการให้คุณช่วยหยุด Starman!
มนุษย์จากดาวได้มาเพื่อโลก! โชคดีที่ประธานาธิบดีโดนัลด์ทรัมป์เป็นประธานาธิบดีของสหรัฐฯ เมื่อใช้ตายนี้เขาสามารถคิดเลขที่คุณนายกเทศมนตรีPodunkต้องใช้เพื่อตัดสินว่าใครควรถูกส่งไปหยุดยั้งผู้บุกรุก! แต่ระวังคุณสามารถส่งจำนวน จำกัด ไบต์ที่ด้านหลังของกบของคุณ! กำหนดอินพุตของผู้ใช้ (ซึ่งจะเป็นจำนวนเต็มบวก) คุณจะต้องส่งคืนสตริงขึ้นอยู่กับหมวดหมู่หมายเลขใด ถ้าตัวเลขเป็นจำนวนฟีโบนักชีคุณต้องเอาท์พุทเนสส์ ถ้าตัวเลขเป็นจำนวนลูคัสคุณต้องเอาท์พุทลูคัส ถ้าจำนวนทั้งจำนวนลูคัสและหมายเลข Fibonacciคุณต้องเอาท์พุทเทรวิส ถ้าตัวเลขเป็นค่า AA ลูคัสจำนวนหรือมิได้จำนวน Fibonacciคุณต้องเอาท์พุทPippi ตัวอย่าง ต่อไปนี้เป็นกรณีทดสอบมากมาย: 1 => เทรวิส 2 => เทรวิส 3 => เทรวิส 4 => ลูคัส 5 => Ness 6 => Pippi 7 => ลูคัส 8 => Ness 610 => Ness 722 => Pippi 843 …

3
การเขียนโปรแกรมบล็อก Tetris (ตามตัวอักษร)
ในเกมTetrisมี 7 ชนิดของอิฐหรือTetr i minoesซึ่งเป็นคณิตศาสตร์ที่รู้จักกันในชื่อtetr o minoesเพราะมันถูกสร้างขึ้นด้วย 4 ส่วนเซ็กเมนต์: มีชื่อ I, J, L, O, S, T และ Z ที่สอดคล้องกับรูปร่างโดยประมาณของพวกเขา นับการหมุน 90 °มีรูปร่างที่ไม่ซ้ำกันทั้งหมด 19 แบบ: I I I I IIII J J JJ JJJ J JJ J J J JJJ L L LL L LLL LL L L LLL L OO …

11
คำถามนี้มีทั้งอัพและดาวน์
ข้อมูลที่ป้อนจะประกอบด้วยอักขระต่อไปนี้: ^: ขึ้นไปหนึ่ง v: ลงไปหนึ่งอัน ▲หรือk: ขึ้นสอง ▼หรือj: ลงไปสองอัน ตัวอย่างเช่นอินพุตต่อไปนี้: ^^▲^v▼▲^^v จะผลิตผลลัพธ์ต่อไปนี้: ^ ^ ^ v ▲ v ▲ ^ ▼ ^ \e[Bไม่อนุญาตให้ใช้Escape sequences ที่เลื่อนเคอร์เซอร์เช่น คุณต้องสร้างเอาต์พุตโดยใช้ช่องว่างและบรรทัดใหม่ ต่อไปนี้เป็นกรณีทดสอบเพิ่มเติมอีกสองสามข้อ ▲v^v^v^v^v^v^v^v▲ ▲ ▲ ^ ^ ^ ^ ^ ^ ^ v v v v v v v v ^^^^^^^▲▲▲▼▼▼vvvvvv ▲ ▲ ▼ ▲ …

23
Biplex ผู้ประกอบการไร้ประโยชน์ที่สำคัญ
อินพุต รายการของจำนวนเต็มบวกระหว่าง 1 ถึง 255 (รวม) แต่ละรายการในช่วง 1 ถึง 2 32 - 1 (รวม) รูปแบบการป้อนข้อมูลของคุณไม่จำเป็นต้องเหมือนกันกับกรณีทดสอบ ต้องป้อนข้อมูลโดยไม่มีศูนย์นำหน้า ไม่จำเป็นต้องป้อนข้อมูลด้วยศูนย์นำหน้า คุณสามารถใช้ตัวคั่นใดก็ได้ที่คุณต้องการระหว่างจำนวนเต็ม จำนวนเต็มอาจถูกแทนด้วยสตริง แต่ตัวเลขแต่ละหลักของจำนวนเต็มที่ระบุจะต้องต่อเนื่องกัน คุณอาจเลือกที่จะใช้ฐานใด ๆ สำหรับอินพุต (รวมถึงไบนารีและเอกภาพ) โดยที่เอาต์พุตยังอยู่ในฐานนั้น เอาท์พุต จำนวนเต็มเดียว ผลลัพธ์จะต้องไม่มีเลขศูนย์นำหน้า เอาต์พุตจะต้องอยู่ในฐานเดียวกับอินพุต ผลลัพธ์สามารถคำนวณได้ตามที่คุณต้องการ แต่จะต้องตรงกับผลลัพธ์ของการคำนวณต่อไปนี้: กำลังคำนวณ biplex บิตของแทน binary ที่มีเลขจากขวาเริ่มต้นจากศูนย์ดังนั้นบิตฉันอยู่ในคอลัมน์ที่เป็นตัวแทนของ 2 ฉัน ฉัน TH Bitsumคือผลรวมของฉัน THบิตของการแสดงไบนารีของแต่ละตัวเลขการป้อนข้อมูล สูงสุด Bitsumเป็นค่าสูงสุดที่ถ่ายโดย bitsums ค่าต่ำสุดของบิตซัมคือค่าต่ำสุดที่ไม่เป็นศูนย์ที่ถ่ายโดยบิตซัม ฉัน THหลักของฐานเป็นตัวแทนของการส่งออกเป็น: 1 ถ้าi …

10
ตรวจสอบบอร์ด Minesweeper
เป้าหมายของคุณคือการตรวจสอบว่าคณะกรรมการเรือกวาดทุ่นระเบิดที่สมบูรณ์นั้นถูกต้องหรือไม่ ซึ่งหมายความว่าแต่ละหมายเลขเป็นจำนวนที่ถูกต้องของเหมืองในเซลล์ที่อยู่ติดกับมันรวมถึงเส้นทแยงมุม กระดานไม่พันกัน ตามปกติคุณควรให้ฟังก์ชันหรือโปรแกรมและโค้ดที่สั้นที่สุดเป็นไบต์ชนะ ดูเพิ่มเติมความท้าทายที่ผ่านมาในการสร้าง , การแก้ปัญหาและอย่างเต็มที่ใช้เรือกวาดทุ่นระเบิด การป้อนข้อมูล: สตริงเดียวเช่นนี้: 02X2 13X2 X211. แถวของคณะกรรมการเรือกวาดทุ่นระเบิดจะถูกแยกออกด้วยช่องว่าง ดังนั้นข้างต้นหมายถึงบอร์ด 3x4: 02X2 13X2 X211 แต่ละเซลล์เป็นตัวละคร: Xสำหรับเหมืองหรือจำนวนผ่าน08 แถวทั้งหมดมีความยาวเท่ากัน มีอย่างน้อย 3 แถวและ 3 คอลัมน์ อินพุตไม่ได้ขึ้นต้นหรือลงท้ายด้วยเว้นวรรค แต่คุณอาจรวมบรรทัดใหม่ในตอนท้ายหากต้องการ เอาท์พุท: Truthy ที่สอดคล้องกันบนกระดานที่ถูกต้องและค่าFalsey ที่สอดคล้องกันบนกระดานที่ไม่ถูกต้อง ความสอดคล้องกันหมายความว่าเอาต์พุต Truthy ทั้งหมดเหมือนกันและเอาต์พุต Falsey ทั้งหมดเหมือนกัน กรณีทดสอบ แต่ละบรรทัดเป็นกรณีทดสอบแยกกัน True: 02X2 13X2 X211 XXXX XXXX XXXX XXXX XX4X2 5X6X4 XX6XX …

6
ลอจิกดิจิตอลแบบอิงกริด
กระเบื้อง Duodyadic นั้นเป็นบล็อกสี่เหลี่ยมชนิดหนึ่งที่มีอินพุตสองช่องหนึ่งอันจากด้านบนและอีกอันจากด้านซ้ายและมีเอาต์พุตสองช่องอันหนึ่งอยู่ทางด้านขวาและอีกอันอยู่ด้านล่าง เอาต์พุตแต่ละรายการเป็นฟังก์ชันแยกต่างหากของอินพุตทั้งสอง ตัวอย่างเช่นหาก#แสดงถึงไพ่ทั่วไปเอาต์พุตที่ถูกต้องRคือฟังก์ชันfของอินพุตTและLและเอาต์พุตล่างBเป็นฟังก์ชันอื่นgของTและL: T L#R R = f(T, L) B B = g(T, L) (ไพ่เหล่านั้นเรียกว่า "duo" เนื่องจากมีสองฟังก์ชันและ "dyadic" เนื่องจากทั้งสองฟังก์ชันมีสองอาร์กิวเมนต์ ) จากนั้นกระเบื้องสามารถประกอบเข้าด้วยกันบนกริดได้เอ้าต์พุตของหนึ่งไทล์ไปยังอินพุตของกระเบื้องที่อยู่ใกล้เคียงโดยตรง ตัวอย่างเช่นที่นี่เอาต์พุตด้านขวาของซ้าย#เข้าสู่อินพุตซ้ายของขวา#: AB D = f(f(A, C), B) C##D E = g(A, C) EF F = g(f(A, C), B) คุณสามารถจินตนาการได้ว่าเมื่อได้รับแผ่นกระเบื้อง duodyadic แต่ละชุดที่มีฟังก์ชั่นเฉพาะสามารถสร้างองค์ประกอบที่ซับซ้อน (และอาจมีประโยชน์) ในการท้าทายนี้เราจะพิจารณาเฉพาะชุดไพ่ตามหลักตรรกะสิบสองตัวเท่านั้นซึ่งอินพุตและเอาต์พุตทั้งหมดเป็นเลขฐานสองบิตเดียว (ศูนย์หรือรายการ) เราจะใช้อักขระ ASCII ที่แยกต่างหากเพื่อแสดงถึงประเภทของกระเบื้องแต่ละประเภท …

22
การคูณแฮคเกอร์
เป้าหมายของคุณคือการใช้การดำเนินการคูณXOR ( ไร้ค่า ) ตามที่กำหนดไว้ด้านล่างในไม่กี่ไบต์เท่าที่จะทำได้ ถ้าเราคิดว่า bitwise XOR ( ^) เป็นการเพิ่มแบบไบนารีโดยไม่ต้องถือ 101 5 ^ 1001 9 ---- 1100 12 5^9=12 เราสามารถดำเนินการ XOR คูณ@ด้วยการทำไบนารียาวคูณ^แต่ทำขั้นตอนการเพิ่มโดยไม่ดำเนินการเป็นค่าที่เหมาะสมแฮคเกอร์ 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (สำหรับนักคณิตศาสตร์นี่คือการคูณในพหุนามพหุนามF_2[x]ระบุพหุนามกับจำนวนธรรมชาติโดยการประเมินที่x=2พหุนามมากกว่า Z) แฮคเกอร์เดินทางคูณa@b=b@aร่วมและจัดจำหน่ายมากกว่าค่าที่เหมาะสมแฮคเกอร์(a@b)@c=a@(b@c) a@(b^c)=(a@b)^(a@c)ในความเป็นจริงมันเป็นงานที่ไม่ซ้ำกันเช่นที่ตรงกับการคูณa@b=a*bเมื่อใดก็ตามaและbมีพลังแห่งเช่น21,2,4,8... ความต้องการ ใช้จำนวนเต็มสองจำนวนที่ไม่เป็นลบเป็นอินพุตและเอาต์พุตหรือพิมพ์ XOR-product นี่ควรเป็นตัวเลขหรือการแสดงสตริงทศนิยมไม่ใช่การขยายแบบไบนารี ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ไม่ต้องกังวลกับจำนวนเต็มล้น a b …

20
เขียนโพลีควิน
โพลีวินเป็นทั้งควินินและพูดได้หลายภาษา 1คุณจะต้องเขียนควินินที่ใช้ได้อย่างน้อยสองภาษา นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ 1ฉันทำมันขึ้นมา หรือค่อนข้างGeobits ได้ เห็นได้ชัดว่าเขาไม่ใช่คนแรกเช่นกัน กฏสำหรับ Quines ยอมรับ Quines จริงเท่านั้น นั่นคือคุณต้องพิมพ์คำต่อคำทั้งหมดเพื่อ STDOUT โดยไม่ต้อง : อ่านซอร์สโค้ดของคุณโดยตรงหรือโดยอ้อม อาศัยสภาพแวดล้อม REPL ซึ่งเพียงประเมินและพิมพ์นิพจน์ทุกครั้งที่คุณป้อน อาศัยคุณสมบัติภาษาที่เพิ่งพิมพ์ออกมาในบางกรณี ใช้ข้อความแสดงข้อผิดพลาดหรือ STDERR เพื่อเขียนทั้งหมดหรือบางส่วนของควิน (คุณสามารถเขียนสิ่งต่าง ๆ ไปยัง STDERR หรือสร้างข้อผิดพลาด / เตือนไม่ใช่ข้อผิดพลาดได้ตราบใดที่ STDOUT เป็นควินินที่ถูกต้องและข้อความผิดพลาดไม่ได้เป็นส่วนหนึ่งของมัน) นอกจากนี้รหัสของคุณจะต้องมีตัวอักษรสตริง กฎระเบียบสำหรับ Polyglots สองภาษาที่ใช้จะต้องแตกต่างกันอย่างชัดเจน โดยเฉพาะอย่างยิ่ง: พวกเขาจะต้องไม่ใช้ภาษาเดียวกันในเวอร์ชันที่แตกต่างกัน (เช่น Python 2 กับ Python 3) พวกเขาจะต้องไม่เป็นภาษาถิ่นของภาษาเดียวกันที่แตกต่างกัน (เช่น Pascal …

8
ไม่ใช่ผู้ลงคะแนนที่นับ มันคือใครนับคะแนน [ปิด]
สถานการณ์ คุณอาศัยอยู่ในประเทศที่มีการเลือกตั้งประธานาธิบดี ผู้มีสิทธิเลือกตั้งแต่ละคนจะได้รับหนึ่งคะแนนและดังนั้นจึงมีระบบสองพรรคที่มั่นคง (มีบุคคลที่สามอยู่ แต่ไม่ได้รับคะแนนใด ๆ เลย) แบบสำรวจความคิดเห็นล่าสุดแสดงให้เห็นว่าการแข่งขันในความร้อนที่ตาย: 49%: Alberto Arbusto 49%: Jorge Sangre 2%: ผู้สมัครรายย่อยต่างๆ ข้อกำหนดของโปรแกรม คุณได้รับการว่าจ้างจากรัฐบาลให้เขียนซอฟต์แวร์การนับคะแนนบางส่วน คุณจะได้รับรายชื่อแบบไม่มีการเรียงลำดับของการโหวตของหนึ่งเขตต่อหนึ่งบรรทัดเช่นนี้: Alberto Arbusto Jorge Sangre Jorge Sangre Alberto Arbusto Jorge Sangre Alberto Arbusto Alberto Arbusto Jorge Sangre Juan Perez Jorge Sangre Alberto Arbusto Alberto Arbusto … และหลังจากที่ได้อ่านคะแนนเสียงทั้งหมดผลลัพธ์สรุปจำนวนโหวตที่ผู้สมัครแต่ละคนได้รับเรียงตามลำดับจากมากไปน้อยตามจำนวนโหวตดังนี้: 492 Jorge Sangre 484 Alberto …

14
มอร์สปีใหม่
นี่คือการท้าทายประจำสัปดาห์ # 1 ธีม: การประมวลผลเสียง งานของคุณคือการเขียนโปรแกรมซึ่งเขียนไฟล์เสียงลงดิสก์ (ในรูปแบบที่คุณเลือก) ซึ่งมีรหัสมอร์สสำหรับ2015เช่น ..--- ----- .---- ..... คุณมีอิสระในการเลือกเสียงทุกประเภทสำหรับเซ็กเมนต์เช่นคลื่นซายน์ความถี่เดียวคอร์ดเสียงเครื่องดนตรีบางอย่าง (เช่นการใช้ไฟล์ MIDI) ตราบใดที่มีเสียง อย่างไรก็ตามมีข้อ จำกัด บางประการเกี่ยวกับเวลา: เซ็กเมนต์สั้นต้องมีความยาวอย่างน้อย 0.2 วินาที เซ็กเมนต์แบบยาวต้องมีอย่างน้อย 3 เท่าของเซ็กเมนต์แบบสั้น ตัวแบ่งระหว่างเซกเมนต์ภายในตัวเลขควรมีความยาวเท่ากับเซกเมนต์แบบสั้น ตัวแบ่งระหว่างตัวเลขควรมีความยาวเท่ากับเซกเมนต์ที่ยาว แต่ละเซกเมนต์และตัวแบ่งอาจเบี่ยงเบนสูงถึง 10% จากความยาวเฉลี่ยของเซกเมนต์ / ตัวแบ่งนั้น ไฟล์เสียงทั้งหมดอาจต้องไม่เกิน 30 วินาที การแบ่งไม่จำเป็นต้องเงียบอย่างสมบูรณ์ แต่กลุ่มมอร์สควรได้ยินเสียงดังกว่าการหยุดพัก โปรดทราบว่าคุณต้องเขียนไฟล์เสียง คุณไม่สามารถเล่นเสียงได้เช่นใช้เสียงบี๊บของระบบ คุณได้รับอนุญาตให้ใช้ไลบรารีประเภทใดก็ได้เพื่อจัดการกับรูปแบบไฟล์และการสร้างเสียง แต่คุณต้องไม่ใช้ฟีเจอร์ในตัวสำหรับการเข้ารหัสมอร์ส นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ โปรดพิจารณาการเชื่อมโยงไปยังการอัปโหลดไฟล์เสียงที่ได้ (บน SoundCloud หรือที่คล้ายกัน) เพื่อให้ผู้คนสามารถตรวจสอบผลลัพธ์โดยไม่ต้องเรียกใช้รหัสของคุณ หากคุณอัปโหลดไปยัง …

13
การเขียนโปรแกรม Dichotomies (ตามตัวอักษร)
ลองพิจารณาคำถามที่เขียนเป็นภาษาอังกฤษธรรมดา ๆ ซึ่งคำตอบนั้นเกี่ยวข้องกับคำหรือวลีที่แม่นยำ (แต่อาจฉลาด) สองข้อที่สามารถแยกออกได้โดยคำว่า 'และ': ถาม:เหรียญสองด้านคืออะไรA:หัวและก้อย ถาม:วิธีเดินทางที่ดีที่สุดคืออะไรA:เครื่องบินและ jetpack ถาม:ทำไมกาถึงเหมือนโต๊ะเขียนหนังสือ? A:เพราะมี 'b' ทั้งในและ n 'ในทั้งสอง เป้าหมาย เขียนโปรแกรมที่ทำงานตามปกติเมื่อแสดงผลคำถามดังกล่าว เมื่อตัวละครอื่น ๆ ถูกลบออกจากโปรแกรมที่เริ่มต้นด้วยตัวอักษรตัวที่สองและผลที่ได้คือการเรียกใช้อีกครั้งผลลัพธ์ที่ได้ควรจะเป็นสิ่งที่ทางด้านซ้ายของ 'และ' ในคำตอบ เมื่อตัวละครอื่น ๆ ถูกลบออกจากโปรแกรมที่เริ่มต้นด้วยตัวอักษรตัวแรกและผลที่ได้คือการเรียกใช้อีกครั้งผลลัพธ์ที่ได้ควรจะเป็นสิ่งที่ทางขวาของ 'และ' ในคำตอบ (ตัวเอง 'และ' ไม่ได้ส่งออก) ตัวอย่าง หากเป็นโปรแกรม A1B2C3D4E5F6G7H8I9 และผลลัพธ์ของมันคือ What are the two sides of a coin? จากนั้นการส่งออกของABCDEFGHIที่ควรจะเป็นheadsและการส่งออกของที่ควรจะเป็น123456789tails กฎเกี่ยวกับคำถามและคำตอบ คุณอาจใช้คำถามตัวอย่างของฉัน แต่ฉันขอแนะนำให้คุณทำขึ้นของคุณเอง คำถามและคำตอบทั้งสองส่วน: จะต้องมีความแตกต่าง ควรเป็นภาษาอังกฤษที่มีความหมายตามหลักไวยากรณ์ อาจมีเฉพาะASCII …

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