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

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

15
KOTH: ทุกเหรียญมีสองด้าน
ผลลัพธ์สุดท้ายพร้อมใช้งาน บทนำ หลังจาก KOTH ฉันก่อนหน้านี้ที่มีรูปแบบหนัก ( สงครามแฟนตาซี , การแพร่ระบาดทั่วโลก ... ) ผมกลับมาพร้อมกับเกมในเฟซบุ๊คใหม่ เวลานี้คุณกำลังเผชิญหน้ากับสถานการณ์ "เหมือนเกมกระดาน" กองเหรียญคว่ำกลับถูกวางไว้ที่กลางโต๊ะใหญ่จริง ๆ และคุณตั้งใจที่จะรับส่วนแบ่งจากการปล้น! อภิธานศัพท์ เหรียญ : เหรียญที่สามารถพลิกหรือไม่เปิดได้ Unflipped : เหรียญที่วางอยู่บนโต๊ะโดยมีค่าชี้ลง นี่คือสถานะเริ่มต้นของเหรียญ พลิกแล้ว : เหรียญถูกวางไว้บนโต๊ะโดยมีค่าชี้ขึ้น ในพื้นที่ : อ้างถึงกองเหรียญของคุณ ทั่วโลก : หมายถึงกองเหรียญที่อยู่ตรงกลาง หลัก ในตอนเริ่มเกมผู้เล่นแต่ละคนจะเริ่มด้วย0 คะแนนและ0 เหรียญ (พลิกหรือไม่เปิด) เกมดังกล่าวเป็นแบบเลี้ยว ในช่วงเทิร์นของพวกเขาผู้เล่นสามารถดำเนินการได้ถึง 3 แอ็คชั่นที่มีปฏิสัมพันธ์กับกองเหรียญที่อยู่ตรงกลางโต๊ะกองเหรียญของตนเองหรือกับผู้เล่นอื่น ลำดับการเล่นถูกกำหนดแบบสุ่มในช่วงเริ่มต้นของเกม คำสั่งของผู้เล่นในรายการอาร์กิวเมนต์แสดงถึงลำดับการเลี้ยวและมันไปจากซ้ายไปขวาในรายการนั้น "ถัดไป" และ "ก่อนหน้า" อ้างอิงตามลำดับถึง "ด้านขวาในรายการนั้น" …

6
แจกแจงแผนการสัมผัส
A "สัมผัสโครงการ" คือสตริงของตัวอักษรaที่จะzดังกล่าวว่าเกิดขึ้นครั้งแรกของตัวละครที่อยู่ในลำดับจากน้อยไปมาก (ไม่มีช่องว่าง) aเริ่มต้นจาก ตัวอย่างเช่น (ที่มีการปรากฏครั้งแรก): abccdbebdcfa ^^^ ^ ^ ^ จำนวนของรูปแบบการสัมผัสของความยาวNจะได้รับจากหมายเลขที่เบลล์ B(N)( OEIS A000110 ) ความท้าทาย งานของคุณคือการใช้การแจงนับของรูปแบบสัมผัสเหล่านี้เช่นการทำแผนที่ bijective จากจำนวนเต็มไปยังรูปแบบสัมผัส คุณได้รับเป็นจำนวนเต็มบวกเช่นเดียวกับจำนวนเต็มไม่เป็นลบN <= 26 หรือคุณสามารถใช้ช่วง0 <= i < B(N) 1 <= i <= B(N)คุณควรเอาท์พุทแบบแผนสัมผัสของความยาวNเช่นที่ทุกคนiให้สตริงที่แตกต่างกัน คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ คุณสามารถใช้ตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ รหัสของคุณจะต้องสามารถจัดการกับการป้อนข้อมูลที่ถูกต้องในระยะเวลาที่เหมาะสม (เช่นไม่เกินสองสามชั่วโมงสำหรับN = 26กรณีที่เลวร้ายที่สุดi) สิ่งนี้ควรอนุญาตโซลูชันที่ปรับมาตราส่วนแบบทวีคูณด้วยN(สำหรับฐานขนาดเล็ก) แม้ในภาษาที่ช้า แต่ห้ามใช้โซลูชันที่ขยายขนาดเชิงเส้นด้วยi(เช่นB(N)) …

22
แปลงข้อความกอล์ฟเป็น DNA
ข้อความถึง DNA golf ท้าทาย แปลงอินพุตเป็นเอาต์พุตดีเอ็นเอ ขั้นตอนวิธี แปลงข้อความเป็นจุดโค้ด ASCII (เช่นcodegolf-> [99, 111, 100, 101, 103, 111, 108, 102]) สตริงรหัส ASCII ด้วยกัน (เช่น99111100101103111108102) แปลงเป็นไบนารี่ (เช่น10100111111001101001011010001000011001101011011110000110010111111011000000110) Pad 0s ลงบนปลายเพื่อให้เป็นเลขคู่ของตัวละคร (เช่น101001111110011010010110100010000110011010110111100001100101111110110000001100) แทนที่00ด้วยA, 01ด้วยC, 10ด้วยG, และ11ด้วยT(เช่นGGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA) เอาท์พุต กรณีทดสอบ codegolf > GGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA ppcg > GGCTAATTGTCGCACTT } > TTGG (padding) ข้อมูลจำเพาะ นี่คือรหัสกอล์ฟ โปรแกรมของคุณต้องยอมรับช่องว่างในอินพุต โปรแกรมของคุณจะต้องใช้งานcodegolfได้

22
ภาพสะท้อนศิลปะ ASCII
ในการท้าทายนี้คุณจะได้รับบล็อคข้อความและคุณต้องทำการไตร่ตรองข้อความ การป้อนข้อมูล: สตริงที่จะสะท้อนให้เห็น ข้อความอาจไม่ได้รับการจัดเป็นอาร์เรย์ที่มีองค์ประกอบเป็นบรรทัดข้อความ ตัวอย่างเช่น"ab\ncd"และ['a','b','\n','c','d']ได้รับอนุญาต แต่['ab','cd']หรือ[['a','b'],['c','d']]ไม่ คุณสามารถสันนิษฐานได้ว่าทุกบรรทัดมีจำนวนอักขระเท่ากัน (เพิ่มด้วยช่องว่างเมื่อจำเป็น) บูลีนที่Trueระบุการสะท้อน Y และFalseบ่งชี้การสะท้อน X อินพุตทั้งสองสามารถส่งผ่านในลำดับใดก็ได้ เอาท์พุท: สตริงที่สะท้อนกลับ ตัวละครจะไม่เปลี่ยนแปลงเฉพาะตำแหน่งของพวกเขา บล็อกรูปภาพที่ได้ควรจัดชิดซ้ายบนสุด (แถวและคอลัมน์แรกจะต้องมีอักขระที่ไม่ใช่ช่องว่าง) อนุญาตให้ใช้ช่องว่างต่อท้าย (บนบรรทัดใดก็ได้) กรณีทดสอบ: False o / --|/ | / \ / o /|-- | \ / True o / --|/ | / \ / \ | --|/ o / True text text …

3
ระบบหมายเลขสารตกค้าง
ในหลอดเลือดดำของความท้าทายจำนวนมากฉันคิดว่าสิ่งนี้อาจน่าสนใจ ในความท้าทายนี้เราจะใช้ระบบหมายเลขสารตกค้าง (RNS) เพื่อดำเนินการบวกลบและคูณกับจำนวนเต็มขนาดใหญ่ RNS คืออะไร RNS เป็นหนึ่งในหลาย ๆ วิธีที่ผู้คนพัฒนาขึ้นเพื่อระบุจำนวนเต็ม ในระบบนี้ตัวเลขจะถูกแทนด้วยลำดับของสิ่งตกค้าง (ซึ่งเป็นผลลัพธ์หลังจากการดำเนินการโมดูลัส (เช่นส่วนที่เหลือหลังจากการหารจำนวนเต็ม)) ในระบบนี้จำนวนเต็มแต่ละตัวมีการแทนจำนวนมาก เพื่อให้ง่ายขึ้นเราจะ จำกัด สิ่งต่าง ๆ เพื่อให้จำนวนเต็มแต่ละค่ามีค่าไม่ซ้ำกัน ฉันคิดว่าการอธิบายสิ่งที่เกิดขึ้นกับตัวอย่างที่เป็นรูปธรรมนั้นง่ายกว่า ให้เราดูที่แรกสามตัวเลขที่สำคัญ: 2, 3, 5 ในระบบอาร์เอ็นเอเราสามารถใช้ทั้งสามตัวเลขที่จะไม่ซ้ำกันแทนจำนวนที่น้อยกว่า 2 * 3 * 5 = 30 ใช้สารตกค้าง รับ 21: 21 มีค่าน้อยกว่า 30 ดังนั้นเราจึงสามารถใช้แทนผลลัพธ์หลังจาก modding ด้วย 2, 3 และ 5 (เช่นส่วนที่เหลือหลังจากจำนวนเต็มหารด้วย 2, 3 และ 5) …

2
Lipogram“ ควิน”
งาน ใช้อักขระ Unicode เดียวเป็นอินพุต เอาท์พุทโปรแกรมในภาษาเดียวกันกับที่ยังเป็นไปตามข้อกำหนดนี้ แต่ไม่มีตัวอักษรอินพุต ถ้าโปรแกรมของคุณจะดำเนินการด้วยการป้อนข้อมูลแล้วโปรแกรมการส่งออกมีการเรียกใช้จากนั้นมีการป้อนข้อมูลขแล้วโปรแกรมมันเอาท์พุทจะได้รับอนุญาตให้มีตัวอักษร อย่างไรก็ตามขยังไม่ได้รับอนุญาตให้ปรากฏในโปรแกรมนี้ กล่าวอีกนัยหนึ่งคือห้ามไม่ให้มีการป้อนข้อมูลในการจุติมาเกิดล่าสุดของโปรแกรม ไม่ว่าสิ่งที่ชื่ออาจพูดได้ว่ากฎ quine มาตรฐานใช้ โปรแกรมที่สั้นที่สุดชนะ โปรแกรมต้องมีความยาวอย่างน้อยหนึ่งไบต์ ตัวอย่าง ถ้าโปรแกรมคือ ABCD (# คือความคิดเห็น) > slangi "ABCD" A EBCD # "FBCD" "JGGJ" "UGDKJGDJK" are all OK > slangi "EBCD" C ABGD # "EBGD" "UIHDAIUTD" are all OK > slangi "ABGD" B AFCD > slangi "AFCD" …

30
การเพิ่มตัวเลขและตัวเลขกลับด้าน
รับตัวเลข> 0 ส่งออกผลรวมกับตัวเลขทั้งหมด (1 .. n) เรียงต่อกันและย้อนกลับและเพิ่มขึ้น ตัวอย่างเช่นด้วย n = 6: หมายเลข 1 ถึง 6 เรียงต่อกัน: 123456 ย้อนกลับ 654321 การรวมเข้าด้วยกันจะทำให้: 777777 อีกตัวอย่างหนึ่งคือ n = 11: 1 2 3 4 5 6 7 8 9 10 11 > 1234567891011 และ 11 10 9 8 7 6 5 4 3 2 1 …

1
…และเม็กซิโกจะจ่ายให้!
Donald Trump ประทับใจมากกับการทำงานของผู้คนในเว็บไซต์นี้ เขาเห็นว่าที่น่าตื่นตาตื่นใจของงานที่คุณได้ช่วยเบนคาร์สันเพื่อที่เขาจะได้รับการว่าจ้างให้คุณสร้างกำแพงของเขา เขาคิดว่าคุณยอดเยี่ยม ตอนนี้เขาต้องการความช่วยเหลือของคุณอีกครั้ง ในขณะที่เขาสร้างกำแพงได้สำเร็จตอนนี้เขาต้องการให้รัฐบาลเม็กซิกันจ่ายเงินให้ เขาต้องการที่จะเรียกเก็บเงิน $ 1 ล้านไมล์และเขาได้บอกพวกเขาว่าชายแดนเม็กซิโกเป็น1,989 ไมล์ยาว อย่างไรก็ตามพวกเขาไม่แน่ใจว่าตัวเลขนี้ถูกต้องหรือไม่ดังนั้นพวกเขาจึงต้องการแสดงภาพในระดับมากเช่นกัน นั่นคือสิ่งที่คุณเข้ามาคุณจะต้องใช้แผนที่นี้: และสำหรับทุกn (50 <= n <= 500) ไมล์บนเส้นขอบวาดเส้น 25 พิกเซลความยาวตั้งฉากกับความลาดชันของเส้นขอบที่จุดนั้น ใช้ขนาดที่ด้านขวามือของแผนที่ที่ฉันได้พิจารณาแล้วว่า100 ไมล์ ~ 50 พิกเซล ฉันวาดตัวอย่างของ 3 บรรทัดแรกสำหรับ n = 60 แต่นี่เป็นเพียงตัวอย่างเท่านั้น: หมายเหตุ: การป้อนข้อมูลเพียงอย่างเดียวคือn ผลลัพธ์ควรเป็นภาพแผนที่โดยมีการเพิ่มบรรทัดลากไปที่หน้าจอหรือบันทึกไว้ในไฟล์ภาพแรสเตอร์ (คุณสามารถเขียนทับไฟล์แผนที่ต้นฉบับ) คุณสามารถบันทึกไฟล์แผนที่เปล่าด้วยชื่อไฟล์ใดก็ได้ที่คุณต้องการ เป็น JPEG แต่คุณสามารถแปลงเป็นรูปแบบแรสเตอร์ทั่วไปอื่นได้หากต้องการ นอกจากนี้คุณสามารถลดขนาดของภาพลงได้มากถึง 50% ตราบใดที่คุณยังคงสัดส่วนตามสัดส่วนและเส้นของคุณยังคงขยายขนาด แต่ละบรรทัดควรตั้งฉากกับความชันของชายแดน ณ จุดนั้น ความชันควรคำนวณเริ่มต้น …

6
1 + 1 = 10, 1 + 2 = 3
เขียนฟังก์ชั่นหรือโปรแกรมที่สามารถทำได้ง่าย ๆ ทางคณิตศาสตร์ (การบวกการลบการคูณและการหาร) ในทั้งฐาน 10 และฐาน 2 ฟังก์ชั่นจะรับนิพจน์ทางคณิตศาสตร์เป็นอินพุตและเอาต์พุตผลลัพธ์ที่ถูกต้องในฐานที่ถูกต้อง อินพุตจะเป็นnตัวเลขคั่นด้วยตัวดำเนินการหนึ่งหรือหลายตัว ( + - * /) หากค่าอินพุตทั้งหมดมีเพียง 0 และ 1 ค่าทั้งหมดจะถือว่าเป็นไบนารี ถ้าอย่างน้อยหนึ่งหลักคือ2-9ค่าทั้งหมดจะถือว่าเป็นฐาน 10 กฎ: คุณสามารถสมมติว่าจะมีผู้ให้บริการเพียงรายเดียวระหว่างหมายเลข ( 10*-1จะไม่ปรากฏขึ้น) คุณสามารถสรุปได้ว่าจะไม่มีวงเล็บ ผู้ปฏิบัติงานปกติมาก่อน (ลองใช้นิพจน์ในเครื่องคิดเลขของ Google หากคุณมีข้อสงสัย) คุณไม่สามารถสรุปได้ว่าจะมีจำนวนเต็มเท่านั้น จะไม่มีเลขศูนย์นำหน้าในอินพุตหรือเอาต์พุต คุณสามารถสันนิษฐานได้ว่าป้อนข้อมูลที่ถูกต้องเท่านั้น คุณสามารถสมมติว่าค่าอินพุตทั้งหมดเป็นค่าบวก (แต่ตัวดำเนินการลบอาจทำให้เอาต์พุตเป็นลบได้1-2=-1และ10-100=-10) ไม่รับ REPL คุณอาจเลือกที่จะใช้การป้อนข้อมูลที่เป็นข้อโต้แย้งที่แยกต่างหากหรือเป็นอาร์กิวเมนต์เดียว แต่การป้อนข้อมูลที่มีอยู่ในลำดับที่ถูกต้อง เช่นคุณอาจจะเป็นตัวแทน1-2ที่มีการขัดแย้งการป้อนข้อมูล1, -, 2แต่ไม่1, ,2- คุณต้องยอมรับสัญลักษณ์+ - * /ในการป้อนข้อมูลที่ไม่ได้plus, minusฯลฯ คุณต้องรองรับค่าเลขทศนิยม …

1
มีใครบางคนถูกทำลายชื่อเสียง?
Defenestrationคือการโยนบางคนหรือบางสิ่งออกจากหน้าต่าง - วิกิพีเดีย อินพุต อินพุตจะประกอบด้วยสองส่วน: แบบแปลนชั้นและบุคคลภายในบ้าน / อาคาร v><^หมายถึงบุคคลชี้ไปในทิศทางที่มีความหมายโดยลูกศร ข้อมูลที่ป้อนจะมีหนึ่งคนเท่านั้น -และ|เป็นตัวแทนของผนังและ#เป็นหน้าต่าง เป็นพื้นที่ว่างเปล่า ส่วนนี้ของการป้อนข้อมูลอาจถูกนำมาเป็นสตริงเดียวหรืออาร์เรย์ / รายการ / ฯลฯ ของสาย จะไม่มีช่องว่างต่อท้ายหรือนำหน้าและอินพุตจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ ตัวอย่าง: -----###--- | | | ^ | ----------- จำนวนเต็ม≥ 1 หมายถึงบุคคลที่เดินทาง (ในตัวอักษร) เอาท์พุต ผลลัพธ์ควรเป็น 1หากบุคคลนั้นปรากฏหน้าต่าง "ข้างใน" (เช่นหลังจากเลื่อนไปข้างหน้าตามระยะทางที่ระบุในอินพุตบุคคลนั้นจะอยู่ด้านบนของ a #) 2ถ้าบุคคลนั้นถูก defenestrated (เข้ามาติดต่อกับ#แล้วต่อไปอีก) 3หากบุคคลนั้นชนกำแพง (สัมผัสกับ a -หรือ|เมื่อกดที่ผนังคนจะหยุดและไม่ผ่านต่อไป) 0 หากไม่มีสิ่งใดในข้างต้นเป็นจริง (และบุคคลที่ทำไปแล้วคือเดินทางไปในที่ว่าง) สมมติฐาน ทั้งหมดต่อไปนี้สามารถสันนิษฐานได้ว่าเป็นจริง: …
26 code-golf  string 

24
ค้นหาช่วงของค่า True ในรายการ
ท้าทาย: เขียนฟังก์ชั่นหรือโปรแกรมที่ยอมรับรายการค่าบูลีนและส่งกลับช่วงทั้งหมดของ True กรณีทดสอบ: f [F] = [] f [T] = [[0,0]] f [T,T,F,T] = [[0,1],[3,3]] f [F,T,T,F,F,T,T,T] = [[1,2],[5,7]] f [F,T,T,F,F,F,T,T,T,T] = [[1,2],[6,9]] f [T,T,F,F,F,T,T,T,T,T,T,T,T,T,T,F] = [[0,1],[5,14]] f [F,F,T,T,F,F,F,F,F,F,F,F,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,T,T] = [[2,3],[12,19],[33,54],[93,94]] กฎ: คุณสามารถเลือกวิธีการป้อนข้อมูลที่เข้ารหัสเช่นรายการอาร์เรย์สตริง ฯลฯ ผลลัพธ์จะต้องถูกเข้ารหัสเป็น list-like ของ list-ชอบหรือสตริงที่แสดงเช่นอาร์เรย์ดังนั้นรายการ list, tuples, เมทริกซ์, เวกเตอร์เป็นต้น ค่าบูลีนต้องเข้ารหัสเป็นค่าคงที่ แต่ไม่เช่นนั้นการแปลง T / F อย่างง่ายไปเป็นค่าคงที่ที่ต้องการจะได้รับอนุญาต แก้ไข: …

30
คำที่บ่อยที่สุดคืออะไร
คำที่บ่อยที่สุดคืออะไร ให้ประโยคของคุณโปรแกรมของคุณต้องผ่านมันนับความถี่ของแต่ละคำจากนั้นส่งออกคำที่ใช้มากที่สุด เนื่องจากประโยคไม่มีความยาวคงที่และสามารถยาวได้มากรหัสของคุณจึงต้องสั้นที่สุด กฎ / ความต้องการ การส่งแต่ละครั้งควรเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ ถ้ามันเป็นฟังก์ชั่นมันจะต้องสามารถเรียกใช้งานได้โดยเพียงแค่ต้องเพิ่มการเรียกฟังก์ชั่นที่ด้านล่างของโปรแกรม ต้องรวมสิ่งอื่นใด (เช่นส่วนหัวใน C) จะต้องมีล่าม / คอมไพเลอร์ฟรีสำหรับภาษาของคุณ ถ้าเป็นไปได้ให้ลิงค์ไปยังเว็บไซต์ที่สามารถทดสอบโปรแกรมของคุณ STDERRโปรแกรมของคุณไม่ต้องเขียนอะไรไป โปรแกรมของคุณควรรับข้อมูลจากSTDIN(หรือเป็นทางเลือกที่ใกล้เคียงที่สุดในภาษาของคุณ) ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม โปรแกรมของคุณจะต้องคำนึงถึงตัวพิมพ์tHeเล็กTheและตัวพิมพ์ใหญ่ ( และtheทุกอย่างมีส่วนร่วมในการนับthe) หากไม่มีคำที่พบบ่อยที่สุด (ดูกรณีทดสอบ # 3) โปรแกรมของคุณจะไม่แสดงผลอะไร คำจำกัดความของ 'คำ': คุณได้รับรายชื่อคำโดยแยกข้อความอินพุตบนช่องว่าง ข้อมูลที่ป้อนจะไม่ประกอบด้วยช่องว่างประเภทอื่นนอกเหนือจากช่องว่างธรรมดา (โดยเฉพาะอย่างยิ่งไม่มีบรรทัดใหม่) อย่างไรก็ตามคำสุดท้ายควรประกอบด้วยตัวอักษรและตัวเลข (az, AZ, 0-9), ยัติภังค์ (-) และ apostrophes (') คุณสามารถทำได้โดยลบอักขระอื่น ๆ ทั้งหมดหรือโดยแทนที่ด้วยช่องว่างก่อนทำการแยกคำ เพื่อให้เข้ากันได้กับกฎรุ่นก่อนหน้านี้ไม่จำเป็นต้องรวมอะพอสโทรฟี กรณีทดสอบ The man walked down the …

30
ลำดับการบวกลบ
ลำดับการบวกลบ ลำดับบวกลบเป็นหนึ่งที่เริ่มต้นด้วยสองเมล็ดและa(0) b(0)การวนซ้ำของลำดับนี้แต่ละครั้งเป็นการเพิ่มและลบสมาชิกสองคนก่อนหน้าของลำดับ นั่นคือและa(N) = a(N-1) + b(N-1)b(N) = a(N-1) - b(N-1) วัตถุประสงค์ Produce ลำดับบวกลบในไม่มีที่สิ้นสุดหรือแรกขั้นตอนที่กำหนดK Kคุณสามารถทำได้โดยใช้โปรแกรมเอาต์พุตไม่ จำกัด ตัวสร้างหรือฟังก์ชัน / โปรแกรมที่ให้Kขั้นตอนแรก ลำดับผลลัพธ์ไม่สำคัญตราบใดที่มันสอดคล้องกัน (เช่นb(K) a(K)หรือa(K) b(K)ด้วยตัวคั่นที่ไม่ใช่ตัวเลขบางตัวไม่ใช่บรรทัดใหม่ในระหว่าง) เอาท์พุทจะต้องเริ่มต้นด้วยการป้อนข้อมูล กรณีทดสอบ สำหรับอินพุต10 2(จากa(0) b(0)นี่คือผลลัพธ์ที่เป็นไปได้สำหรับวิธี K แรก (หรือส่วนย่อยของวิธีที่ไม่มีที่สิ้นสุด): 10 2 12 8 20 4 24 16 40 8 48 32 80 16 96 64 160 32 …

7
การสร้าง Brainf *** NOPs
บางครั้งเมื่อเขียนโค้ด brainfuck คุณรู้สึกว่าจำเป็นที่จะต้องทำให้มันนานเกินความจำเป็นเพื่อกระตุ้นการดีบั๊ก คุณสามารถทำได้โดยการ plopping ที่><นั่น แต่ความสนุกคืออะไร คุณจะต้องมีสิ่งที่ยาวและน้อยกว่า NOPey เพื่อสร้างความสับสนให้ใครก็ตามที่อ่านรหัสของคุณ บทนำสู่ Brainfuck อย่างรวดเร็ว Brainfuckเป็นภาษาโปรแกรมลับที่สร้างขึ้นในปี 1993 โดย Urban Müllerและมีชื่อเสียงในเรื่องความเรียบง่ายแบบสุดขั้ว (วิกิพีเดีย) Brainfuck เป็นภาษาที่ใช้คำสั่งแปดคำ: +-><,.[]. รหัสนี้ทำงานบนเครื่องทัวริง: เทปที่ไม่มีที่สิ้นสุดซึ่งสามารถเปลี่ยนค่าได้ ในการท้าทายนี้เราจะเน้นไปที่สี่ข้อแรก: + increment the value at the pointer - decrement the value at the pointer > move the pointer right < move the pointer left Brainfuck …

12
สี่คือหมายเลขเวทย์มนตร์
ฉันไม่ได้ตรวจสอบกล่องเครื่องมือก่อนที่จะโพสต์ความท้าทายนี้ - มันดูเหมือนว่าความท้าทายนี้ถูกเสนอโดยCᴏɴᴏʀO'Bʀɪᴇɴ รับอินพุตจำนวนเต็มเขียนโปรแกรมที่พิมพ์ริดเดิ้ล "สี่คือจำนวนเวทย์มนตร์" สี่คือหมายเลขเวทย์มนตร์ ห้าคือสี่และสี่คือเลขอาคม หกเป็นสามและสามคือห้าและห้าคือสี่และสี่คือเลขกล สิบเอ็ดคือหกและหกคือสามและสามคือห้าและห้าคือสี่และสี่คือเวทมนตร์ ห้าร้อยเป็นสิบเอ็ดและสิบเอ็ดคือหกและหกคือสามและสามคือห้าและห้าคือสี่และสี่คือจำนวนเวทมนตร์ หากคุณรู้จักไขปริศนาอยู่แล้วหรือขี้เกียจเกินกว่าที่จะแก้ปัญหาได้ก็อยากรู้ว่าปริศนานี้คืออะไรนี่คือคำอธิบาย หมายเลขถัดไปคือจำนวนตัวอักษรในหมายเลขก่อนหน้า ดังนั้นสำหรับตัวอย่างเช่นห้ามีสี่ตัวอักษรดังนั้นจำนวนต่อไปคือสี่ หกมีตัวอักษรสามตัวดังนั้นหมายเลขถัดไปคือ3และสามมีตัวอักษรห้าตัวดังนั้นหมายเลขถัดไปคือ5และห้ามีตัวอักษรสี่ตัวดังนั้นหมายเลขต่อไปคือ4 เหตุผลที่ปริศนาจบที่สี่คือเพราะสี่มีสี่ตัวอักษร และสี่คือสี่และสี่คือสี่และสี่คือสี่ ... (สี่คือเลขกล) กรณีทดสอบ 0 => Zero is four and four is the magic number 1 => One is three and three is five and five is four and four is the magic number 2 …
26 code-golf  number 

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