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

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

30
การนับศูนย์รวม
เขียนโปรแกรมหรือฟังก์ชั่นที่ให้n ≥ 1ส่งคืนจำนวนโซลูชันเป็น± 1 ± 2 ± 3 ± ... ± n = 0 สำหรับ n = 6 ไม่มีวิธีแก้ปัญหาดังนั้นคำตอบคือ 0 สำหรับ n = 4 มีสองวิธีดังนั้นคำตอบคือ 2 (ทั้งสองคำตอบคือ 1 - 2 - 3 + 4 = -1 + 2 + 3 - 4 = 0) นี่คือ OEIS ลำดับA063865 ตัวอย่างอินพุต / เอาท์พุต …

2
มันเป็น Cube ของ Rubik หรือไม่?
เวลาผ่านไปของการเคารพคนเดินเท้าคือการชี้ให้เห็นว่าภาพของ "ลูกบาศก์ของรูบิค" (บนเสื้อยืดโปสเตอร์และอื่น ๆ ) ไม่สามารถแก้ไขได้จริง สิ่งแรกที่ควรตรวจสอบคือลูกบาศก์นั้นประกอบด้วยชิ้นส่วนที่ถูกต้อง ในการแก้ไขได้ลูกบาศก์จำเป็นต้องมีหกสีแต่ละอันมีเก้าช่องสี่เหลี่ยม คิวบ์ยังต้องการหน่วยขอบและมุมแต่ละอัน (นี่คือคิวบ์ขนาดเล็กที่ประกอบขึ้นเป็นลูกบาศก์) เพื่อให้มีความเป็นเอกลักษณ์ ไม่เพียง แต่จะต้องไม่ซ้ำกัน แต่ถ้าชิ้นกลางสองอันอยู่ตรงข้ามกันไม่มีขอบหรือมุมชิ้นส่วนสามารถมีสีทั้งสอง เมื่อคุณมีลูกบาศก์ที่สร้างขึ้นจากชิ้นส่วนที่ถูกต้องทั้งหมดคุณยังต้องตรวจสอบว่าสามารถแก้ไขได้ มีกฎอยู่สองสามข้อดังนั้นฉันจะบอกผู้เชี่ยวชาญให้อธิบายเหล่านั้นผู้สปอยเลอร์ด้านล่างอธิบายว่าเราสามารถทำสิ่งนี้ได้อย่างไร หากคุณสนใจที่จะแก้ไขปัญหาด้วยตัวคุณเองคุณไม่จำเป็นต้องไปที่ไซต์เพื่อทำความเข้าใจหรือเข้าร่วมในการท้าทายนี้ คำอธิบายที่เชื่อมโยง งานของคุณคือใช้รูปแบบเป็นอินพุตและพิจารณาว่าจริง ๆ แล้วเป็นลูกบาศก์ของรูบิคที่แก้ไขได้หรือไม่ เพื่อให้สามารถแก้ไขได้ต้องมีวิธีดำเนินการย้ายที่ถูกต้องบนคิวบ์เพื่อให้คิวบ์มีสีเดียวเท่านั้นในแต่ละหน้า (และใบหน้าที่แตกต่างกันมีสีต่างกัน) ลูกบาศก์ของรูบิคส่วนใหญ่มีสีมาตรฐาน (สีขาวตรงข้ามกับสีเหลือง ฯลฯ ) คุณอาจไม่คิดว่าสถานะการแก้ปัญหาจะตามด้วยสีเฉพาะนี้ การเคลื่อนไหวที่ถูกต้องคือการหมุนตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาของลูกบาศก์ใบหน้า ด้วยการหมุนของใบหน้าของลูกบาศก์สี่เหลี่ยมใด ๆ ที่มีพรมแดนติดกับใบหน้าจะถูกหมุนเช่นกันเชื่อมต่อกับใบหน้าที่พวกเขาสัมผัสก่อนหน้านี้ IO คุณอาจใช้ลูกบาศก์ในลักษณะที่สมเหตุสมผล หากภาษาของคุณมีชนิด "คิวบ์ใบหน้า" ในตัวซึ่งดีสำหรับคุณนั่นก็ดีเหมือนการป้อนข้อมูลและอื่น ๆ ที่ชาญฉลาดคุณสามารถใช้อาร์เรย์ 2 มิติของตาข่ายก้อน 1 1 3 โดย 3 รายการสำหรับแต่ละหน้า เพียงแค่มีเหตุผล หากคุณต้องการทราบว่ารูปแบบที่เฉพาะเจาะจงเป็นความคิดเห็นที่ยอมรับได้หรือ ping …

25
กอล์ฟ A อัลกอริทึมการจับคู่วงเล็บ
sคุณจะได้รับสตริง มีการรับประกันว่าสตริงมีค่าเท่ากันและอย่างน้อยหนึ่ง[s และ]s มันยังรับประกันได้ว่าวงเล็บมีความสมดุล สตริงสามารถมีอักขระอื่นได้ โดยมีวัตถุประสงค์เพื่อการส่งออก / กลับรายการของ tuples หรือรายการของรายการที่มีดัชนีของแต่ละที่[และ]คู่ หมายเหตุ: สตริงเป็นศูนย์ดัชนี ตัวอย่าง: !^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]ควรกลับมา [(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]หรือบางสิ่งที่เทียบเท่ากับสิ่งนี้ สิ่งอันดับไม่จำเป็น รายการสามารถใช้ กรณีทดสอบ: input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f] output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, …

30
บันไดตัวอักษรที่สับสน
เมื่อไม่มีอินพุตให้เอาท์พุตรูปแบบตัวอักษรที่น่าสนใจในทั้งสองกรณี (เคสต้องสอดคล้องกัน) ผ่านวิธีเอาต์พุตที่ยอมรับได้ : A AB ACBC ADBDCD AEBECEDE AFBFCFDFEF AGBGCGDGEGFG AHBHCHDHEHFHGH AIBICIDIEIFIGIHI AJBJCJDJEJFJGJHJIJ AKBKCKDKEKFKGKHKIKJK ALBLCLDLELFLGLHLILJLKL AMBMCMDMEMFMGMHMIMJMKMLM ANBNCNDNENFNGNHNINJNKNLNMN AOBOCODOEOFOGOHOIOJOKOLOMONO APBPCPDPEPFPGPHPIPJPKPLPMPNPOP AQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQ ARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQR ASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRS ATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTST AUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTU AVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUV AWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVW AXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWX AYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXY AZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ ช่องว่างต่อท้ายและการขึ้นบรรทัดใหม่เป็นที่ยอมรับช่องโหว่มาตรฐานไม่ได้รับอนุญาตและสิ่งนี้เกิดขึ้นเป็นโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในการชนะไบต์!

20
โปรแกรมระบุรูปร่าง
งานของคุณคือการสร้างโปรแกรมที่ระบุรูปร่างของอินพุต รูปร่างที่จะระบุสามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้: สี่เหลี่ยม ในการระบุว่าเป็นรูปสี่เหลี่ยมแหล่งที่มาจะต้องมีบรรทัดที่มีความยาวเท่ากันทั้งหมดและจำนวนบรรทัดเท่ากับอักขระต่อบรรทัด (ยกเว้นอักขระบรรทัดใหม่) ขึ้นบรรทัดใหม่ที่เป็นทางเลือกเป็นที่ยอมรับ $_=' $_=" $_"' ;say สี่เหลี่ยมผืนผ้า ในการระบุว่าเป็นสี่เหลี่ยมผืนผ้าแหล่งที่มาจะต้องมีบรรทัดที่มีความยาวเท่ากันทั้งหมด แต่จำนวนบรรทัดไม่ตรงกับจำนวนอักขระต่อบรรทัด (ยกเว้นอักขระขึ้นบรรทัดใหม่) ขึ้นบรรทัดใหม่ที่เป็นทางเลือกเป็นที่ยอมรับ สิ่งนี้สามารถเป็นได้ทั้งแนวนอนหรือแนวตั้ง $_= "no t a squ are ";# $_="but it is still a consistent shape!";## สามเหลี่ยม ในการระบุว่าเป็นรูปสามเหลี่ยมแหล่งที่มาต้องเริ่มต้นด้วยอักขระหนึ่งตัวและแต่ละบรรทัดถัดมาต้องมีอักขระเพิ่มเติมหนึ่งตัว (รวมถึงตัวสุดท้าย) หรือหลังบรรทัดแรกแต่ละบรรทัดถัดไปควรมีอักขระน้อยกว่าหนึ่งตัวสุดท้ายซึ่ง มีเพียงหนึ่งเดียว $ _= "So this "."". shape; $_="or even, this way !! " ความยุ่งเหยิง สิ่งใดก็ตามที่ไม่เป็นไปตามรูปแบบที่สอดคล้องกันตามข้างต้นจะต้องระบุเป็นระเบียบ กฎระเบียบ …

23
ทิศทางการจราจร
กฎระเบียบ ให้รหัสประเทศ ISO3166-1-Alpha-2 งานของคุณคือการตัดสินใจเกี่ยวกับทิศทางการจราจรสำหรับประเทศนั้น: ข้อมูลที่ป้อนจะเป็นรหัสประเทศที่ถูกต้อง (ถูกต้องเช่นเดียวกับที่เป็นองค์ประกอบของสองรายการที่ให้ไว้) อินพุตอาจเป็นรายการของอักขระสองตัวแทนที่จะเป็นสตริงถ้าช่วยได้ คุณอาจเลือกที่จะใส่เป็นตัวพิมพ์เล็ก คุณจะเลือกหนึ่งค่าบอกว่าถูกต้อง (ตัวเลือกของคุณ) และจะเอาท์พุทมูลค่านั้นถ้าการจราจรในประเทศนั้นถนัดขวาและอย่างอื่นในกรณีอื่น ๆ คุณต้องจัดการรหัสประเทศที่มีอยู่ในรายการใดรายการหนึ่งต่อไปนี้: นี่คือทุกประเทศที่มีการจราจรถนัดมือซ้าย: ['AI', 'AG', 'AU', 'BS', 'BD', 'BB', 'BM', 'BT', 'BW', 'VG', 'BN', 'KY', 'CX', 'CC', 'CK', 'CY', 'DM', 'FK', 'FJ', 'GD', 'GG', 'GY', 'HK', 'IN', 'ID', 'IE', 'IM', 'JM', 'JP', 'JE', 'KE', 'KI', 'LS', 'MO', 'MW', 'MY', …

25
ตรวจจับการจับคู่ที่สมบูรณ์แบบ
มามีฟังก์ชั่นfffที่รับสตริงและลบคู่ของอักขระที่เหมือนกันที่อยู่ติดกันทั้งหมด ตัวอย่างเช่น f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba โปรดทราบว่าเมื่อทับซ้อนกันสองคู่เราจะลบหนึ่งคู่เท่านั้น เราจะเรียกสตริงที่จับคู่อย่างสมบูรณ์หากการใช้งานซ้ำ ๆ ในที่สุดก็จะทำให้สตริงว่าง ยกตัวอย่างเช่นสตริงดังกล่าวข้างต้นไม่ได้จับคู่อย่างสมบูรณ์แบบเพราะถ้าเราใช้อีกครั้งที่เรายังคงได้รับABAอย่างไรก็ตามสตริงอย่างนั้นถูกจับคู่อย่างสมบูรณ์เพราะถ้าเราใช้สามครั้งเราจะได้สตริงว่างabbbaccabbbaccabbbaccขอีขขคคd d จฉfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff ฉ( e a b b c c a dde ) = e a a eฉ(อีaขขคคaddอี)=อีaaอีf(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae ฉ( e a a e ) = e eฉ(อีaaอี)=อีอีf(e\color{red}{aa}e) = ee ฉ( e e ) =ฉ(อีอี)=f(\color{red}{ee}) = งานของคุณคือการเขียนรหัสคอมพิวเตอร์ที่จับคู่อย่างสมบูรณ์แบบซึ่งใช้สตริง (ของ ASCII ที่พิมพ์ได้) …

6
หมายเลขการบรรจุหลัก (ฉบับความเร็ว)
นี่คือลำดับA054261 nnn TH จำนวนบรรจุสำคัญเป็นจำนวนต่ำสุดที่มีคนแรกที่nnnตัวเลขที่สำคัญเป็นสตริง ตัวอย่างเช่นหมายเลข235235235เป็นหมายเลขต่ำสุดซึ่งมี 3 ช่วงแรกเป็นสตริงย่อยทำให้เป็นหมายเลขหลักสำรองลำดับที่ 3 มันเป็นเรื่องไม่สำคัญที่จะเข้าใจว่าตัวเลขสี่ตัวแรกที่สำคัญคือ222 , 232323 , 235235235และ235723572357แต่แล้วมันก็น่าสนใจมากขึ้น เนื่องจากไพรม์ถัดไปคือ 11 หมายเลขการกักกันไพรม์ถัดไปไม่ใช่235711235711235711แต่เป็น112357112357112357เนื่องจากมันถูกกำหนดให้เป็นหมายเลขที่เล็กที่สุดพร้อมด้วยคุณสมบัติ อย่างไรก็ตามความท้าทายที่แท้จริงมาเมื่อคุณไปไกลกว่า 11 จำนวนบรรจุที่สำคัญต่อไปคือ113257113257113257113257โปรดทราบว่าในจำนวนนี้สตริงย่อย11และ 13ทับซ้อนกัน จำนวนนี้ยังเป็นที่ทับซ้อนกันด้วยหมายเลข313 มันง่ายที่จะพิสูจน์ว่าลำดับนี้เพิ่มขึ้นเนื่องจากจำนวนถัดไปต้องเป็นไปตามเกณฑ์ทั้งหมดของตัวเลขก่อนหน้านั้นและมีซับสตริงอีกหนึ่งรายการ อย่างไรก็ตามลำดับจะไม่เพิ่มขึ้นอย่างเคร่งครัดตามที่แสดงโดยผลลัพธ์สำหรับn=10และn=11และ ท้าทาย เป้าหมายของคุณคือค้นหาหมายเลขบรรจุสำคัญที่สุดเท่าที่จะทำได้ โปรแกรมของคุณควรแสดงผลตามลำดับโดยเริ่มต้นที่ 2 และขึ้นไป กฎระเบียบ คุณได้รับอนุญาตให้เขียนรหัสเฉพาะจำนวนมาก คุณไม่ได้รับอนุญาตให้ใช้รหัสพื้นที่ จำกัด หลักอย่างหนัก (2เป็นข้อยกเว้นเพียงอย่างเดียว) หรือหมายเลขมายากลใด ๆ ที่ทำให้เกิดความท้าทายเล็กน้อย โปรดเป็นคนดี คุณสามารถใช้ภาษาใดก็ได้ที่คุณต้องการ โปรดรวมรายการคำสั่งเพื่อให้สภาพแวดล้อมพร้อมสำหรับการใช้งานโค้ด คุณมีอิสระในการใช้ทั้ง CPU และ GPU และคุณสามารถใช้มัลติเธรด เกณฑ์การให้คะแนน คะแนนอย่างเป็นทางการจะมาจากแล็ปท็อปของฉัน (dell XPS 9560) …

30
มาออกแบบโมเสกหลักกัน
ท้าทาย กำหนดจำนวนเต็มบวกซ้ำแต่ละตัวเลขของวันที่1 , d 2 , d 3 , ⋯ , d nจำนวนครั้งที่สอดคล้องกับตำแหน่งในN กล่าวอีกนัยหนึ่งแต่ละหลักd kควรซ้ำkครั้ง (สำหรับแต่ละ1 ≤ k ≤ n , 1-indexed) ดังนั้นการสร้างหมายเลขใหม่:NNNd1,d2,d3,⋯,dnd1,d2,d3,⋯,dnd_1, d_2, d_3, \cdots, d_nNNNdkdkd_kkkk1≤k≤n1≤k≤n1\le k\le n d1d2d2d3d3d3⋯dndndn⋯dnn times¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯d1d2d2d3d3d3⋯dndndn⋯dn⏟n times¯\overline{d_1d_2d_2d_3d_3d_3\cdots\underbrace{d_nd_nd_n\cdots d_n}_{n\text { times}}} จากนั้นเขียนมันลงทั้งแนวนอนและแนวตั้งและเติมช่องว่างด้วยสำเนาของตัวเลขที่สอดคล้องกับดัชนีที่มากขึ้นระหว่างดัชนีคอลัมน์และดัชนีแถวของพื้นที่ว่าง ผลลัพธ์สุดท้ายควรมีลักษณะเช่นนี้: ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮]\begin{bmatrix} \color{red}{d_1} \color{green}{d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 …

30
ที่อยู่ IP หรือไม่?
เครื่องมือสแกนเครือข่ายของคุณมักจะพิถีพิถันเกี่ยวกับอินพุตและหยุดทำงานทันทีหากคุณป้อนที่อยู่ IPv4 ที่มีอักขระที่ไม่เหมาะสมหรือมีรูปแบบไม่ถูกต้อง ที่อยู่ IPv4 เป็นที่อยู่ตัวเลข32 บิตที่เขียนเป็นตัวเลขสี่ตัวคั่นด้วยเครื่องหมายมหัพภาค ตัวเลขแต่ละตัวสามารถเป็นศูนย์ถึง 255 เราจำเป็นต้องเขียนเครื่องมือเพื่อตรวจสอบความถูกต้องของอินพุตล่วงหน้าเพื่อหลีกเลี่ยงความผิดพลาดเหล่านั้นและเครื่องมือเฉพาะของเราคือพิถีพิถัน: รูปแบบที่ถูกต้องจะมีลักษณะa.b.c.dที่ a, b, c และ d: สามารถเป็น0จำนวนธรรมชาติหรือไม่มีเลขศูนย์นำหน้าไม่มีศูนย์นำ ควรอยู่ระหว่าง 0 - 255 (รวม) ควรไม่ประกอบด้วยสัญลักษณ์พิเศษชอบ+, -,,และอื่น ๆ ควรเป็นทศนิยม (ฐาน10) อินพุต : สตริง เอาต์พุต : ค่า Truthy หรือ Falsey (ยอมรับค่าตามอำเภอใจด้วย) กรณีทดสอบ : Input | Output | Reason | | - 1.160.10.240 | true …

8
ตรวจสอบโทโพโลยี
ท้าทาย รับชุดTย่อยของเซต จำกัดS={1,2,3,...,n}ตรวจสอบว่าTเป็นทอพอโลยีหรือไม่ คำอธิบาย powerset P(S)ของบางชุดเป็นชุดย่อยทั้งหมดของS Sตัวอย่างบางส่วน: S = {}, P(S) = {{}} S = {1}, P(S) = {{}, {1}} S = {1,2}, P(S) = {{}, {1}, {2}, {1,2}} S = {1,2,3}, P(S) = {{}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} โทโพโลยี TในชุดSเป็นส่วนหนึ่งของP(S)ที่มีคุณสมบัติดังต่อไปนี้: {}อยู่ในTและSอยู่ในT ถ้าAและBอยู่ในTนั้นก็คือจุดตัดของพวกเขาA ∩ B หากAและBอยู่ในTนั้นดังนั้นสหภาพของพวกเขาคือA ∪ …

17
จำลองนาฬิกาปลุกเก่าของฉันโง่
ฉันมีนาฬิกาปลุกโง่เก่าที่มีสองปุ่ม: และhour ปุ่มเพิ่มชั่วโมงของการปลุกชุดและเพิ่มขึ้นในเวลานาทีของการปลุกชุด แต่บางออกแบบสมาร์ทตระหนักว่าการกดปุ่มทั้งสองในเวลาเดียวกันควรจะมีความหมายและตัดสินใจว่าการกดและพร้อมกันจะทำให้เกิดการเตือนภัยที่จะตั้งค่าให้/ งานของคุณคือการจำลองพฤติกรรมนี้minutehourminutehourminute12:00 am0:00 งาน ให้เวลาเริ่มต้นและลำดับของปุ่มสถานะให้คิดเวลาสิ้นสุด เริ่มต้นจากเวลาเริ่มต้นเพิ่มชั่วโมงสำหรับการเกิดขึ้นของแต่ละคน(1,0), เพิ่มนาทีสำหรับการเกิดขึ้นของแต่ละ(0,1)และตั้งเวลาในการสำหรับการเกิดขึ้นของแต่ละ0:00 (1,1)รัฐ(0,0)ควรละเลยเพราะพวกเขาสอดคล้องกับปุ่มไม่ถูกกด เมื่อมีการเพิ่มนาทีและชั่วโมงถ้านาที / ชั่วโมงไปข้างต้นสูงสุดตั้งค่าให้0เช่นการเพิ่มค่านาที59ควรตั้งค่านาทีไป0และการเพิ่มค่าชั่วโมงควรตั้งค่าชั่วโมง23 0การเพิ่มค่านาที / ชั่วโมงเหนือขีด จำกัด ของพวกเขาไม่ส่งผลกระทบต่อค่าอื่น ๆ เช่นการเพิ่มนาทีของ10:59อัตราผลตอบแทนไม่ได้10:0011:00 ตัวอย่าง ให้เวลาการป้อนข้อมูล13:58และขั้นตอน[(0,1),(0,1),(0,1),(0,0),(1,1),(1,0)], (0,1). สิ่งนี้สอดคล้องกับminuteการถูกกด 13:59เวลาขณะนี้ (0,1). สิ่งนี้สอดคล้องกับminuteการถูกกด 13:00เวลาขณะนี้ (0,1). สิ่งนี้สอดคล้องกับminuteการถูกกด 13:01เวลาขณะนี้ (0,0). สิ่งนี้สอดคล้องกับปุ่มที่ไม่มีการกด เวลาไม่ได้รับผลกระทบคือตอนนี้13:01 (1,1). สิ่งนี้สอดคล้องกับปุ่มทั้งสองที่ถูกกด 0:00เวลาขณะนี้ (1,0)สิ่งนี้สอดคล้องกับhourการถูกกด 1:00เวลาขณะนี้ เนื่องจากเราลงท้ายด้วย1:00มันคือผลลัพธ์ I / O อินพุตจะประกอบด้วยเวลาและลำดับสถานะของปุ่ม เอาท์พุทเป็นครั้งเดียว เวลาอินพุตและเวลาเอาต์พุตอาจเป็น 2 tuple (hour, …
25 code-golf  date 

30
รหัสนี้มีข้อผิดพลาดใน * this * และ * that * เป็นข้อเขียนที่เขียนขึ้นจริง ๆ หรือไม่
แรงบันดาลใจจากฉันไม่ใช่ภาษาที่คุณกำลังมองหา! ท้าทาย เลือกภาษาการเขียนโปรแกรมสองภาษาที่แตกต่างกันและเขียนโปรแกรมที่พิมพ์บรรทัดต่อไปนี้ไปยัง stdout (หรือเทียบเท่า): This program errors out in <the current language> :P จากนั้นสร้างข้อผิดพลาดประเภทต่าง ๆ ในแต่ละภาษา กฎระเบียบ กฎบางอย่างมาจากความท้าทายเดิม ในผลลัพธ์ชื่อภาษาควรเป็นดังนี้: ชื่อที่แสดงอยู่ในTIOซึ่งเป็นตัวเลือกยกเว้นหมายเลขรุ่นและ / หรือชื่อการนำไปใช้ (เช่นหากคุณใช้JavaScript (Node.js)เป็นภาษาใดภาษาหนึ่งของคุณคุณสามารถใช้JavaScriptสำหรับชื่อภาษาของคุณ แต่ไม่ใช่JSหรือJavascript) ชื่อเต็มในเว็บไซต์ทางการ (หรือ GitHub repo) หากภาษาที่คุณเลือกไม่สามารถใช้งานได้ใน TIO โปรแกรมไม่ควรรับข้อมูลใด ๆ จากผู้ใช้ คุณสามารถใช้ความคิดเห็นในภาษาใดภาษาหนึ่ง ภาษาเดียวกันสองเวอร์ชันที่แตกต่างกันจะนับเป็นภาษาที่แตกต่างกัน หากทำเสร็จแล้วโปรแกรมควรส่งออกหมายเลขรุ่นหลักและหากใช้กับรุ่นรองสองรุ่นที่แตกต่างกันควรรายงานรุ่นรองด้วย คุณไม่ควรใช้ฟังก์ชั่นเวอร์ชั่นที่สร้างไว้ล่วงหน้า (ซึ่งรวมถึงตัวแปรที่ได้รับการประเมินแล้วตอนรันไทม์) แฟล็กบรรทัดคำสั่งที่แตกต่างกันสองรายการในภาษาเดียวกันจะนับเป็นภาษาที่แตกต่างกันตามฉันทามติเมตานี้ตราบใดที่แฟล็กไม่ได้มีการแตกแฟรกเมนต์โค้ด (เช่น-Dblahblah...ใน C) หากทำเสร็จแล้วโปรแกรมควรแสดงสถานะแฟล็กที่ใช้ ข้อผิดพลาดสองข้อถือว่าแตกต่างกันเว้นแต่ว่าข้อผิดพลาดทั้งสองจะถูกสร้างขึ้นโดยซีแมนทิกส์เดียวกัน (เช่น "การหารด้วยศูนย์", "การแบ่งเซกเมนต์ผิด" หรือ "ดัชนีอยู่นอกช่วง") …

6
Gimli ทำให้สั้นกว่านี้ใช่ไหม
ฉันเป็นหนึ่งในนักเขียนของกิมลี เรามี 2-tweet (280 chars) ใน C แต่ฉันอยากจะดูว่ามันเล็กแค่ไหน Gimli ( paper , website ) เป็นความเร็วสูงด้วยการออกแบบการเปลี่ยนรูปแบบการเข้ารหัสลับระดับความปลอดภัยสูงที่จะนำเสนอในการประชุมเกี่ยวกับการเข้ารหัสฮาร์ดแวร์และระบบฝังตัว (CHES) 2017 (25-28 กันยายน) งาน ตามปกติ: เพื่อให้การนำ Gimli ไปปฏิบัติใช้ในภาษาที่คุณเลือกได้ มันควรจะสามารถใช้เป็นอินพุต 384 บิต (หรือ 48 ไบต์หรือ 12 int ไม่ได้ลงนาม ... ) และผลตอบแทน (อาจแก้ไขในสถานที่ถ้าคุณใช้ตัวชี้) ผลของ Gimliนำไปใช้กับ 384 บิตเหล่านี้ อนุญาตให้ทำการแปลงอินพุตจากทศนิยมฐานสิบหกฐานแปดหรือฐานสอง กรณีมุมที่อาจเกิดขึ้น การเข้ารหัสจำนวนเต็มจะถือว่าเป็น endian น้อย (เช่นสิ่งที่คุณอาจมีอยู่แล้ว) คุณอาจเปลี่ยนชื่อGimliเป็นGแต่จะต้องยังคงเป็นการเรียกใช้ฟังก์ชัน ใครชนะ? นี่คือ …

11
House of Cards (รุ่น 1)
รุ่นที่ 2 ที่นี่ ความท้าทายง่าย ๆ : รับจำนวนเต็มวาดบ้านไพ่ด้วยจำนวนเรื่องที่กำหนด หากจำนวนเป็นลบให้วาดบ้านกลับหัวกลับหาง ตัวอย่าง: Input: 2 Output: /\ -- /\/\ Input: 5 Output: /\ -- /\/\ ---- /\/\/\ ------ /\/\/\/\ -------- /\/\/\/\/\ Input: 0 Output: <empty, whitespace or newline> Input: -3 Output: \/\/\/ ---- \/\/ -- \/ อินพุตอาจเป็นตัวเลขหรือสตริง เอาต์พุตต้องตรงตามที่แสดงพร้อมกับช่องว่างนำหน้าและ / หรือช่องว่างและบรรทัดใหม่ นี่คือโค้ดกอล์ฟดังนั้นโปรแกรม / ฟังก์ชั่นที่สั้นที่สุดสำหรับแต่ละภาษาจะชนะ!

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