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

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

19
มันเป็นหมายเลข Munchausen หรือไม่?
Munchausen จำนวนในฐานยังเป็นที่รู้จักในฐานะที่เป็นหลักในการหลักคงที่ที่สมบูรณ์แบบหรือ PDDI เป็นชนิดที่แปลกประหลาดของจำนวนเต็มบวกที่ผลรวมของ base-ตัวเลขยกตัวเองจะเท่ากับจำนวนของตัวเอง พวกเขาได้รับการตั้งชื่อตามตัวละครของบารอนมันช์เชาซึ่งดูเหมือนจะยกตัวเองผ่านหางม้าของเขาเองเพื่อช่วยตัวเองจากการจมน้ำ แนวคิดที่เกี่ยวข้องเป็นจำนวนหลงตัวเองbขbbขb ยกตัวอย่างเช่นคือนิด ๆ จำนวน Munchausen ในฐานทุกเพราะ 1 นอกจากนี้เลขจำนวนเต็มบวกทุกตัวเป็นตัวเลข Munchausen ฐาน -1 ตามคำจำกัดความ11111=111=11^1=1 น่าสนใจมากขึ้นเป็นจำนวน Munchausen ฐาน 10 เพราะและในความเป็นจริงอื่น ๆ เพียงฐาน 10 จำนวน34353435343533+44+33+55=343533+44+33+55=34353^3+4^4+3^3+5^5=3435 รายชื่อบางส่วนของตัวเลข Munchausen ในทุกฐานถึง 35 สามารถพบได้ใน OEIS เป็นลำดับA166623 ป.ร. ให้ไว้เป็นจำนวนเต็มบวก , ตรวจสอบว่าเป็นจำนวน Munchausen ในฐานใดขn>0n>0n>0b≥2ข≥2b\geq2 กฎระเบียบ ใช้กฎ I / O เริ่มต้นดังนั้น: โปรแกรมหรือฟังก์ชั่นเต็มรูปแบบเป็นที่ยอมรับ อินพุตสามารถมาจาก STDIN เป็นอาร์กิวเมนต์ฟังก์ชันและเอาต์พุตสามารถเป็น …

10
ก้าวตัวอักษรที่เหมาะสมที่สุด
รับสายป้อนข้อมูลที่ประกอบด้วยตัวอักษรเท่านั้นให้ส่งคืนขนาดขั้นตอนที่ทำให้จำนวนขั้นต่ำที่จำเป็นในการเยี่ยมชมตัวอักษรทั้งหมดในการสั่งซื้อมากกว่าตัวอักษรห่อเริ่มต้นที่ตัวอักษรใด ๆ ตัวอย่างเช่นจดคำ, dog. หากเราใช้ขนาดขั้นตอนที่ 1 เราจะได้: defghijklmnopqrstuvwxyzabcdefg Alphabet ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ defghijklmnopqrstuvwxyzabcdefg Visited letters d o g Needed letters รวมทั้งหมด 30 ขั้นตอน อย่างไรก็ตามหากเราใช้ขนาดขั้นตอนที่ 11 เราจะได้รับ: defghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg ^ ^ ^ ^ ^ ^ d o z k v g Visited letters d o g Needed letters รวมทั้งหมด 6 ขั้นตอน นี่คือขั้นตอนจำนวนน้อยที่สุดดังนั้นผลลัพธ์ที่ส่งคืนสำหรับdogขนาดขั้นตอนคือ 11. กรณีทดสอบ: …

30
อักขระ ASCII ทั้งหมดที่มีจำนวนบิตที่กำหนด
(ชื่อด้วยขอบคุณ @ChasBrown) Sandbox พื้นหลัง ความท้าทายนี้เป็นแรงบันดาลใจคำถามที่ฉันเพิ่งโพสต์บนงง Stack แลกเปลี่ยน โปรดติดตามลิงค์หากคุณสนใจคำถามเดิม ถ้าไม่เช่นนั้นฉันจะไม่เบื่อคุณพร้อมรายละเอียดที่นี่ ข้อเท็จจริง อักขระ ASCII มาตรฐานที่พิมพ์ได้ทุกตัวมีค่าทศนิยมตั้งแต่ 32 ถึง 126 ตัว สามารถแปลงเป็นเลขฐานสองที่สอดคล้องกันในช่วง 100000 ถึง 1111110 เมื่อคุณรวมจำนวนบิตของเลขฐานสองเหล่านี้คุณจะต้องลงท้ายด้วยจำนวนเต็มตั้งแต่ 1 ถึง 6 ความท้าทาย กำหนดจำนวนเต็มตั้งแต่ 1 ถึง 6 ให้รวมเป็นอินพุตให้เขียนโปรแกรมหรือฟังก์ชันซึ่งจะส่งออกในรูปแบบที่ยอมรับได้ทุกตัวอักษร ASCII มาตรฐานที่พิมพ์ได้โดยที่ผลรวมของบิตของค่าไบนารีของพวกเขาจะเท่ากับจำนวนเต็มอินพุต ตัวอย่าง / กรณีทดสอบ 1 -> ' @' 2 -> '!"$(0ABDHP`' 3 -> '#%&)*,1248CEFIJLQRTXabdhp' 4 -> ''+-.3569:<GKMNSUVYZ\cefijlqrtx' 5 …
30 code-golf 

30
pwaS eht tirsf dna tasl setterl สำหรับ hace dorw
หรือ "สลับอักษรตัวแรกและตัวสุดท้ายของแต่ละคำ" ความท้าทายของคุณคือให้ใช้อักขระ ASCII เรียงตามตัวอักษรและอักขระอื่น ๆ เพื่อใช้เป็นตัวคั่น (เพื่อคั่นแต่ละคำ) สลับตัวอักษรตัวแรกและตัวสุดท้ายของแต่ละคำ หากมีคำเดียวให้เว้นไว้เพียงคำเดียว ตัวอย่าง / testcases ใช้อักษรตัวพิมพ์เล็กและช่องว่างเป็นตัวคั่น คุณไม่จำเป็นต้องจัดการเครื่องหมายวรรคตอน อินพุตทั้งหมดจะประกอบด้วยตัวอักษร a ถึง z เท่านั้นคั่นด้วยตัวคั่นตัวพิมพ์ทั้งหมด ตัวอย่างเช่นกับสตริง "hello world": Input string: "hello world" Identify each word: "[hello] [world]" Identify the first and last letters of each word: "[[h]ell[o]] [[w]orl[d]]" Swap the first letters of each word: …
30 code-golf  string 

23
เพิ่ม GUID
แรงบันดาลใจจากบทความ WTF รายวันล่าสุด ... เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ GUID (สตริงในรูปแบบXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXที่แต่ละ X แทนเลขฐานสิบหก) และส่งออก GUID ที่เพิ่มขึ้นทีละหนึ่ง ตัวอย่าง >>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb') '7f128bd4-b0ba-4597-8f35-3a2f2756dfbc' >>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa') '06b86883-f3e7-4f9d-87c5-a047e89a19fb' >>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf') '89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0' >>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f') '89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0' >>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff') '8e0f9835-4086-406b-b7a4-532da4696400' >>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff') '7f128bd4-b0ba-4598-0000-000000000000' หมายเหตุ ต่างจากในบทความที่เชื่อมโยงการเพิ่ม GUID ที่ลงท้ายด้วย F จะต้อง“ พกพา” เป็นเลขฐานสิบหกก่อนหน้านี้ ดูตัวอย่างด้านบน คุณอาจคิดว่าอินพุตจะไม่เป็นffffffff-ffff-ffff-ffff-ffffffffffffเช่นนั้น สำหรับเลขฐานสิบหกที่สูงกว่า 9 คุณสามารถใช้ตัวพิมพ์ใหญ่ (AF) หรือตัวล่าง (af) ใช่ guid 0ของอาจเริ่มต้นด้วย …
30 code-golf 

18
ตัวแปลงฐานตัวเลขแบบกำหนดเอง
พลังที่ต้องการแปลงตัวเลขใด ๆ ที่พวกเขามีให้เป็นฐานหมายเลขของตนเองอย่างรวดเร็วโดยใช้รูปแบบที่พวกเขาต้องการ อินพุต โปรแกรมของคุณต้องยอมรับ 3 พารามิเตอร์ Number: หมายเลขสตริงที่จะถูกแปลง InputFormat: สตริงฐานที่เป็นหมายเลขปัจจุบัน OutputFormat: สตริงฐานที่จะแปลงเป็นตัวเลข เอาท์พุต โปรแกรมของคุณต้องแปลงNumberจากเลขฐานเดิมเป็นฐานInputFormatจำนวนใหม่OutputFormat ตัวอย่าง ("1","0123456789","9876543210") = "8" ("985724","9876543210","0123456789ABCDEF") = "37C3" ("FF","0123456789ABCDEF","0123456789") = "255" ("FF","0123456789ABCDEF","01234567") = "377" ("18457184548971248772157", "0123456789","Aa0Bb1Cc2Dd3Ee4Ff5Gg6Hh7Ii8Jj9Kk,Ll.Mm[Nn]Oo@Pp#Qq}Rr{Ss-Tt+Uu=Vv_Ww!Xx%Yy*Zz") = ",sekYFg_fdXb" เพิ่มเติม การทดสอบ 77 ฐานใหม่ไม่จำเป็นต้องใช้อุปกรณ์ประกอบฉากหากใช้งานได้ หากในภาษาที่คุณต้องแปลงเป็นตัวเลขก่อนและถูกล็อคภายใน 32 บิตคุณสามารถข้ามได้ มันเป็นการทดสอบเพิ่มเติม ตัวอย่างทั้งหมดถูกสร้างขึ้นโดย PHP 7.2 พร้อมกับส่วนขยาย bcmath โดยใช้รหัสต่อไปนี้ (vars mins แต่จัดรูปแบบโค้ด) อาจจะมีวิธีที่สั้นกว่านี้เป็นเพียงวิธีที่ฉันใช้กับระบบที่ฉันต้องการจะทำด้วยจะดีเพื่อดูว่าใครจะมากับรุ่นที่สั้นกว่าแม้ว่า …

30
สร้างบันไดคำ
ให้รายการคำอย่างน้อยสองคำ (ทำจากตัวพิมพ์เล็กเท่านั้น) สร้างและแสดงบันได ASCII ของคำโดยสลับทิศทางของการเขียนไปทางขวาก่อนจากนั้นไปทางซ้ายค่อนข้างไปทางทิศทางเริ่มต้นจากซ้ายไปขวา . เมื่อคุณเขียนคำเสร็จให้เปลี่ยนทิศทางแล้วเริ่มเขียนคำถัดไปเท่านั้น หากภาษาของคุณไม่รองรับรายการคำหรือสะดวกกว่าสำหรับคุณคุณสามารถป้อนข้อความเป็นสตริงคำโดยคั่นด้วยช่องว่างเดียว อนุญาตช่องว่างนำหน้าและต่อท้าย ["hello", "world"] หรือ "hello world" hello w o r l d ที่นี่เราเริ่มต้นด้วยการเขียนhelloและเมื่อเรามาถึงคำถัดไป (หรือในกรณีของอินพุตเป็นสตริง - พบช่องว่าง) เราเปลี่ยนทิศทางสัมพัทธ์ไปทางขวาและเขียนต่อไปworld กรณีทดสอบ: ["another", "test", "string"] or "another test string" -> another t e s tstring ["programming", "puzzles", "and", "code", "golf"] or "programming puzzles and code golf" …

24
ถนน (ง่าย) ถึงรหัส
การป้อนข้อมูล: จำนวนเต็มซึ่งรับประกันได้ว่าจะ\nnn≥3≥3\ge3 จำนวนเต็มซึ่งเป็นหนึ่งใน[-1,0,1]ddd[−1,0,1][−1,0,1][-1,0,1] เอาท์พุท: ถนนขนาดซึ่งอยู่ในทิศตะวันตกเฉียงเหนือถ้า ; ทิศเหนือถ้า ; หรือทิศทางที่ภาคตะวันออกเฉียงเหนือถ้า 1 ถนนจะกว้างสามช่องเสมอ (หรือห้าทั่วไปถ้าเรารวมเส้นขอบด้านนอกด้วย) นอกจากนี้จะมีเส้นคั่นถนนที่ส่วนล่างและหลังจากนั้นจะสลับกันในขณะขึ้นไปnnnd=−1d=−1d=-1d=0d=0d=0d=1d=1d=1 ตัวอย่างบางส่วน: อินพุต: เอาท์พุท:n=7,d=1n=7,d=1n=7, d=1 / / / / / / / / / / / / / / / / / / อินพุต: เอาต์พุต:n=4,d=−1n=4,d=−1n=4, d=-1 \ \ \ \ \ \ \ \ \ \ กฏท้าทาย: จำนวนช่องว่างนำหน้า …

30
สตริงย่อยทั่วไปที่ยิ่งใหญ่ที่สุด
สร้างโปรแกรมหรือฟังก์ชั่นที่รับรายการสตริงเป็นอินพุตและเอาต์พุตสตริงที่ยาวที่สุดที่เป็นสตริงย่อยของสตริงอินพุตทั้งหมด หากมีสตริงย่อยหลายรายการที่มีความยาวเท่ากันและไม่มีซับสตริงอีกต่อไปให้ส่งเอาต์พุตใด ๆ นี่อาจหมายถึงการแสดงผลสตริงที่ว่างเปล่า หากมีผลลัพธ์ที่ถูกต้องหลายอย่างคุณอาจส่งออกหนึ่งในนั้น คุณไม่จำเป็นต้องให้เอาต์พุตที่สอดคล้องกันสำหรับอินพุตที่กำหนดตราบใดที่เอาต์พุตนั้นถูกต้องเสมอ จะมีอย่างน้อยหนึ่งสตริงในอินพุต แต่อาจไม่มีสตริงที่ไม่ว่างเปล่า อักขระ ASCII ที่พิมพ์ได้ทั้งหมดอาจปรากฏในอินพุต คุณอาจสันนิษฐานว่าเป็นเพียงตัวอักษรที่ปรากฏขึ้น คุณสามารถรับอินพุตหรือผลิตผลโดยวิธีการเริ่มต้นใดก็ได้ ไม่อนุญาตช่องโหว่มาตรฐาน นี่คือโค้ดกอล์ฟ - ยิ่งมีจำนวนไบต์น้อยเท่าไหร่ก็ยิ่งดีเท่านั้น กรณีทดสอบ: [Inputs] -> [Valid outputs (choose one)] ["hello", "'ello"] -> ["ello"] ["very", "much", "different"] -> [""] ["empty", "", "STRING"] -> [""] ["identical", "identical"] -> ["identical"] ["string", "stRIng"] -> ["st", "ng"] ["this one", "is …

29
บ้านลัคกี้
มี minigame ในซูเปอร์มาริโอ 3D โลกรู้จักในฐานะที่เป็นLucky House ประกอบด้วยสล็อตแมชชีน 4 ช่วงตึก แต่ละบล็อกอาจเป็นหนึ่งใน 5 ไอคอนที่แตกต่างกัน (ดอกไม้, ใบไม้, เบลล์, เชอร์รี่หรือบูมเมอแรง) และเป้าหมายของผู้เล่นคือการได้รับไอคอนที่เหมือนกันให้ได้มากที่สุด ( ดูวิดีโอ ) ผู้เล่นจะได้รับรางวัลเป็นเหรียญซึ่งจะเปลี่ยนเป็นชีวิตพิเศษ งานของคุณคือการคำนวณจำนวนชีวิตพิเศษที่ชนะ จำนวนเหรียญที่ได้รับจะขึ้นอยู่กับจำนวนไอคอนที่ตรงกับ: ไม่มีการแข่งขัน - 10 เหรียญ หนึ่งคู่ - 100 เหรียญ สองคู่ - 200 เหรียญ สามชนิด - 300 เหรียญ Four-of-a-kind - 777 เหรียญ คุณชนะหนึ่งในชีวิตพิเศษ (1UP) ทุก ๆ 100 เหรียญ ดังนั้นคุณจะรับประกันว่าจะชนะ …

26
จำนวนที่สามารถกินเองได้
รับจำนวนเต็มบวกส่งออกค่าความจริง / เท็จเป็นไปได้ว่าตัวเลขสามารถกินตัวเอง กฎระเบียบ ซ้ายสุดคือหัว, ขวาสุดคือหาง หากหัวมากกว่าหรือเท่ากับหางหัวกินหางและหัวใหม่กลายเป็นผลรวมของพวกเขา ถ้าแล้วหัวจะถูกแทนที่ด้วย10sum≥10sum≥10sum \ge 10 summod10summod10sum \mod 10 sum=0sum=0sum=0ไม่สามารถเพิกเฉยได้อย่างไรก็ตามหมายเลขอินพุตจะไม่มีเลขศูนย์นำหน้า ตัวอย่าง: number=2632 head-2, tail-2 2632 -> 463 head-4, tail-3 463 -> 76 head-7, tail-6 76 -> 3 If only one digit remains in the end, the number can eat itself. ถ้าหัวไม่สามารถกินหางได้ทุกเวลาคำตอบนั้นจะเป็นเท็จ number=6724 072 False (0<2) กรณีทดสอบ: …

30
ค้นหา Fibonacci Number ที่ใกล้เคียงที่สุด
เราทุกคนคุ้นเคยกับการที่มีชื่อเสียงลำดับฟีโบนักชีที่เริ่มต้นด้วย0และ1และแต่ละองค์ประกอบคือผลรวมของก่อนหน้านี้สองที่ ต่อไปนี้เป็นคำศัพท์สองสามคำแรก (OEIS A000045 ): 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584 รับจำนวนเต็มบวกคืนจำนวนใกล้เคียงที่สุดของลำดับ Fibonacci ภายใต้กฎเหล่านี้: จำนวนฟีโบนักชีที่อยู่ใกล้จะถูกกำหนดเป็นจำนวนฟีโบนักชีมีความแตกต่างแน่นอนที่เล็กที่สุดที่มีจำนวนเต็มกำหนด ยกตัวอย่างเช่น34เป็นจำนวนฟีโบนักชีที่อยู่ใกล้30เพราะ|34 - 30| = 4ซึ่งมีขนาดเล็กกว่าที่ใกล้เคียงที่สุดที่สองซึ่ง21|21 - 30| = 9 หากจำนวนเต็มที่กำหนดเป็นของลำดับ Fibonacci จำนวน Fibonacci ที่ใกล้เคียงที่สุดคือตัวของมันเอง ยกตัวอย่างเช่นจำนวนฟีโบนักชีที่อยู่ใกล้ตรง1313 ในกรณีที่มีการผูกคุณอาจเลือกที่จะส่งออกหนึ่งในหมายเลขฟีโบนักชีที่อยู่ใกล้กับอินพุทหรือเอาท์พุทพวกเขาทั้งสอง ตัวอย่างเช่นถ้าใส่เป็น17ทั้งหมดต่อไปนี้จะถูกต้อง: 21, หรือ13 21, 13ในกรณีที่คุณส่งคืนทั้งสองโปรดระบุรูปแบบ มีการใช้ช่องโหว่เริ่มต้น …

2
ช่วยฉันจัดเรียงถุงเท้าของฉัน!
ฉันมีถุงเท้าสะอาดที่ฉันต้องการจัดเรียงเป็นคู่ น่าเสียดายที่ฉันสามารถรับถุงเท้าจากปลายด้านใดด้านหนึ่งเท่านั้นไม่ใช่ตรงกลาง ยิ่งกว่านั้นฉันสามารถถอดถุงเท้าออกจากกองคู่ที่ตรงกันในแต่ละครั้งเท่านั้น กลยุทธ์ของฉันคือการแบ่งกองเป็นกองเล็ก ๆ หนึ่งกองหรือมากกว่า ฉันคิดว่าตัวอย่างบางอย่างจะทำให้เรื่องนี้ชัดเจน ฉันจะแทนถุงเท้าแต่ละตัวเป็นจำนวนเต็มบวก (จำนวนเต็มที่ตรงกันบ่งชี้ว่าเท่ากับถุงเท้า) หากกองถุงเท้าเริ่มต้นคือ 1 2 3 3 2 1 ถ้าอย่างนั้นฉันก็ไม่ต้องแยกอะไร ฉันสามารถนำ1ถุงเท้าทั้งสองออกจากนั้น2ถุงเท้าทั้งสองจากนั้น3ถุงเท้าทั้งสอง ถ้าแทนกองเริ่มต้นก็คือ 1 2 3 2 3 1 ถ้าอย่างนั้นฉันก็ต้องแยกมันก่อนเพราะฉันจะไม่สามารถจับคู่ถุงเท้าทั้งหมดได้โดยแค่เอามันออกจากท้าย ความเป็นไปได้อย่างหนึ่งคือแยกมันออกเป็นสองกอง 1 2 3 and 2 3 1 ตอนนี้ฉันสามารถถอด1ถุงเท้าออก2 3 and 2 3แล้วตามด้วย3ถุงเท้าออก2 and 2และสุดท้ายก็เป็น2ถุงเท้า งานของคุณ ให้กองถุงเท้าเริ่มต้นเขียนโปรแกรมที่จะแยกเป็นกองเล็ก ๆ ที่จะช่วยให้ฉันเรียงถุงเท้า โปรแกรมของคุณควรแบ่งเสาเข็มให้มีจำนวนน้อยที่สุดเท่าที่จะเป็นไปได้ (ถ้ามีวิธีแก้ปัญหาที่ดีที่สุดหลายวิธี การป้อนข้อมูลจะได้รับเป็นรายการสตริงคั่นหรือรูปแบบที่สะดวกอื่น ๆ มันจะมีจำนวนเต็มเฉพาะระหว่าง1และบางค่าสูงสุดnโดยแต่ละจำนวนเต็มเกิดขึ้นสองครั้ง …
30 code-golf 

10
ตีความ /// (ออกเสียง 'ทับ')
เพราะเราไม่สามารถเล่นกอล์ฟที่เป็นภาษาลึกลับได้มากพอใช่ไหม? /// - เครื่องหมายทับ - เป็นภาษาเล็ก ๆ น้อย ๆ ที่สนุกสนานตามs///ฟังก์ชั่นการแทนที่ regex ของชื่อเสียงของ Perl มันมีเพียงสองตัวละครพิเศษเฉือน/และเครื่องหมายทับขวา\เท่านั้น คุณสามารถค้นหาบทความฉบับเต็มได้ที่วิกิ esolangsแต่ฉันจะทำซ้ำคำอธิบายของภาษาด้านล่างรวมถึงตัวอย่างบางส่วน ในระยะสั้นมันทำงานโดยระบุ/pattern/repl/restในโปรแกรมและทำการทดแทนได้หลายครั้งเท่าที่จะทำได้ ไม่มีอักขระพิเศษยกเว้น/และ\: /แบ่งเขตรูปแบบและการแทนที่ในโปรแกรมในขณะที่\ให้คุณแทรกตัวอักษร/หรือ\อักขระลงในรหัสของคุณ ยวดเหล่านี้ไม่ใช่การแสดงออกปกติเพียงทดแทนสตริงธรรมดา ความท้าทายของคุณคือการผลิตล่ามสำหรับ /// ภาษาไม่ว่าจะเป็นโปรแกรมที่อ่าน STDIN หรือฟังก์ชั่นที่รับอาร์กิวเมนต์สตริงในตัวละครน้อยที่สุด คุณสามารถใช้ภาษาใดก็ได้ยกเว้น /// ตัวเอง คุณไม่สามารถใช้ไลบรารีใด ๆ ที่ตีความ ///; อย่างไรก็ตามคุณสามารถใช้ไลบรารี regex, regex หรือไลบรารีที่จับคู่สตริง การกระทำ มีสี่รัฐมีการพิมพ์ , รูปแบบ , ทดแทนและเปลี่ยนตัว ในทุกรัฐยกเว้นการทดแทน : หากโปรแกรมว่างเปล่าการทำงานจะหยุดทำงาน มิฉะนั้นถ้าตัวละครตัวแรกคือ\ทำอะไรกับตัวละครต่อไป (ถ้ามี) และลบทั้งสองจากโปรแกรม มิฉะนั้นถ้าอักขระตัวแรกคือ/ให้ลบออกและเปลี่ยนเป็นสถานะถัดไป อื่นทำอะไรกับตัวละครตัวแรกและลบออกจากโปรแกรม …

30
เขียนโปรแกรมที่เขียนฟังก์ชั่น แต่เป็นภาษาอื่น!
เขียนโปรแกรมที่สั้นที่สุดที่รับหนึ่งอินพุต (n) จาก STDIN (หรือเทียบเท่า) และส่งออกฟังก์ชันการเพิ่มอย่างง่ายด้วยอาร์กิวเมนต์หนึ่งตัว (x) ที่ส่งคืน x + n แต่ฟังก์ชันนั้นต้องเป็นภาษาอื่น ค่อนข้างง่าย! นี่คือรหัส - กอล์ฟ, ใช้กฎปกติ, โปรแกรมที่สั้นที่สุดชนะ ตัวอย่าง:> <> ถึง Python (Ungolfed) !v"def i(x):"a" return x+"ir! >l?!;o การป้อนข้อมูล: 3 เอาท์พุท: def i(x): return x+3 แก้ไข: ฟังก์ชั่นไม่ระบุชื่อและการแสดงออกแลมบ์ดาได้รับอนุญาต!
30 code-golf 

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