คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

30
นี่มันแปลกหรือเปล่า?
หมายเหตุ: ยังไม่มีการทดสอบความเท่าเทียมกันของวานิลลา (มี C / C ++ หนึ่ง แต่ไม่สามารถใช้ภาษาอื่นนอกเหนือจาก C / C ++ และปิดไม่ใช่วานิลลาอื่น ๆ ส่วนใหญ่) ดังนั้นฉันกำลังโพสต์ หนึ่ง. รับจำนวนเต็มบวกเอาท์พุทพาริตี้ของมัน (เช่นถ้าจำนวนคี่หรือคู่) ในค่าความจริง / เท็จ คุณสามารถเลือกได้ว่าผลลัพธ์ที่เป็นความจริงจะตรงกับคี่หรืออินพุท ตัวอย่าง สมมติว่าเป็น True / False เป็นเลขคู่และคี่ (ไม่จำเป็นคุณอาจใช้ค่า Truthy / Falsy อื่น ๆ สำหรับแต่ละรายการ) โดยตอบสนอง: (Input):(Output) 1:False 2:True 16384:True 99999999:False ลีดเดอร์บอร์ด แสดงตัวอย่างรหัส var QUESTION_ID=113448,OVERRIDE_USER=64499;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var …

24
แคร็กปริศนา?
บทนำ Enigma เป็นหนึ่งในเครื่องเข้ารหัสโรเตอร์แบบอิเล็กทรอนิกส์เครื่องแรกที่ใช้ในสงครามโลกครั้งที่สอง นั่นหมายความว่าหลังจากเขียนตัวอักษรตัวเดียวมันจะเปลี่ยนคีย์สำหรับตัวอักษรถัดไป นี่คือการพิจารณาแตกโดยเยอรมันเนื่องจากพื้นที่สำคัญมหาศาล แม้แต่การใช้กำลังอย่างโหดร้ายก็แทบจะเป็นไปไม่ได้ อย่างไรก็ตามมีข้อผิดพลาดในการออกแบบในปริศนา การเข้ารหัสจดหมายจะไม่มีผลกับตัวเอง นั่นหมายความว่าตัวอักษรที่สามารถเข้ารหัสทุกตัวอักษรยกเว้นตัวอักษรAA ลองมาตัวอย่างของข้อความที่เข้ารหัส: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ คำภาษาเยอรมันทั่วไปWETTERBERICHTหรือรายงานสภาพอากาศเป็นภาษาอังกฤษ เมื่อมองจากข้างบนเราสามารถกำหนดตำแหน่งที่คำนั้นจะเป็น: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ สิ่งนี้เป็นไปไม่ได้เพราะIไม่สามารถเข้ารหัสได้ด้วยตัวเองดังนั้นเราจึงไปต่อที่ 1: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ เป็นไปไม่ได้ดังนั้นเราจึงย้ายสถานที่อื่นอีกครั้ง: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ สิ่งนี้เป็นไปไม่ได้อีกแล้ว ในความเป็นจริงการเกิดขึ้นครั้งแรกที่เป็นไปได้WETTERBERICHTคือ: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT 0123456789012345678901234567890123456789012345678901234567890123 ^ 13 ดังนั้นเรากลับมาอยู่ในตำแหน่งที่ 0 การจัดทำดัชนีของการเกิดขึ้นเป็นไปได้ที่แรกซึ่งเป็น13 งาน ได้รับข้อความรหัสและคำค้นหาดัชนีของที่เกิดขึ้นเป็นไปได้เป็นครั้งแรก สมมติว่าจะใช้ตัวอักษรตัวพิมพ์ใหญ่พื้นฐานเท่านั้น ( ABCDEFGHIJKLMNOPQRSTUVWXYZ) หากไม่มีการเกิดขึ้นพบว่าคุณสามารถส่งออกใด ๆในเชิงลบจำนวนเต็มตัวอักษรหรือไม่มีอะไร (เช่น-1, X) อินพุตอาจได้รับการยอมรับว่าเป็นอาร์กิวเมนต์ในบรรทัดใหม่แยกรายการหรืออะไรก็ได้ นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ! กรณีทดสอบ Input: BHGEFXWFTIUPITHHLPETTTCLOEWOELM, WETTERBERICHT …
65 code-golf  string 

22
คำสั่งลูกแมว
ลูกแมวนั้นเหมือนแมวมาก ความแตกต่างที่สำคัญบางประการคือความน่ารักขาดสติปัญญาและขนาด ในทำนองเดียวกันcatคำสั่งจะแตกต่างจากkittenคำสั่ง โชคดีที่มีความแตกต่างเพียงอย่างเดียวในกรณีนี้ ในคำสั่ง kitten ตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดจะถูกแทนที่ด้วยตัวอักษรตัวเล็ก วัตถุประสงค์ catจะใช้โปรแกรมที่มีลักษณะการทำงานคล้ายกับ อักขระทั้งหมด[A-Z]เป็นตัวพิมพ์เล็กที่แสดงผลลัพธ์ อินพุต รายการไฟล์เป็นอาร์กิวเมนต์บรรทัดคำสั่ง หากไม่มีไฟล์อยู่ในรายการให้อ่านจากอินพุตมาตรฐาน อินพุตอาจมีอักขระและอักขระที่ไม่สามารถพิมพ์ได้นอกช่วง ASCII เอาท์พุต หากอินพุตเป็นไฟล์จำนวนมากให้ต่อเนื้อหาและส่งออกอักขระทั้งหมดเป็นตัวพิมพ์เล็ก หากอ่านจาก STDIN ให้ส่งเนื้อหาของ STDIN ด้วยตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดเป็นตัวพิมพ์เล็ก หมายเหตุ: ทำให้ตัวอักษรเป็นตัว[A-Z]พิมพ์เล็กเท่านั้น เป็นที่ยอมรับไม่ได้หากตัวละครอื่น ๆ ทำด้วยตัวพิมพ์เล็ก ตัวอย่าง $ echo "HelLo" > file.txt $ kitten file.txt hello $ echo "Good Bye" | kitten good bye $ echo "Ä" | kitten …

26
การกำหนดหมายเลขหน้าสไตล์ xkcd
หนังสือของ Randall Munroe "xkcd, volume 0" ใช้ระบบตัวเลขที่ค่อนข้างแปลกสำหรับหมายเลขหน้า หมายเลขหน้าสองสามครั้งแรกคือ 1, 2, 10, 11, 12, 20, 100, 101, 102, 110, 111, 112, 120, 200, 1000, 1001, ... นี้มีลักษณะบิตเช่น ternary แต่สังเกตเห็นว่าเขาข้ามจาก20ตรงไปยัง100จาก120ไป200และกลับจากไป200 1000วิธีหนึ่งในการกำหนดลำดับนี้คือการบอกว่ามันระบุหมายเลข ternary ทั้งหมดที่มีมากที่สุดคนหนึ่ง2และไม่มีการหลังจากนั้น1 2คุณสามารถค้นหานี้ใน OEIS ในรายการA169683 ระบบตัวเลขนี้เป็นที่รู้จักกันไบนารีลาด งานของคุณคือการหาการแสดงจำนวนเต็มบวกที่กำหนดNในระบบจำนวนนี้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ เอาท์พุทอาจจะเป็นสตริงจำนวนที่มีการแทนทศนิยมเท่ากับการเป็นตัวแทนไบนารีเอียงหรือรายการของตัวเลข (เป็นจำนวนเต็มหรือตัวอักษร / สตริง) คุณต้องไม่ส่งคืนเลขศูนย์นำหน้า นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด …

30
โปรแกรมการเล่นกอล์ฟพังพอน
ริชาร์ดว์คินส์ในหนังสือของเขาตาบอดนาฬิกาอธิบายโปรแกรมพังพอน อัลกอริทึมสามารถอธิบายได้ดังนี้ เริ่มต้นด้วยสตริงสุ่ม 28 ตัวอักษร อักขระที่ถูกต้องคือตัวอักษรตัวพิมพ์ใหญ่และเว้นวรรค ทำสำเนา 100 ของสตริงนั้นโดยมีโอกาส 5% ต่อตัวละครของตัวละครนั้น ๆ ที่ถูกแทนที่ด้วยตัวอักษรแบบสุ่ม เปรียบเทียบแต่ละสตริงใหม่กับเป้าหมาย "วิธีการมันเหมือนพังพอน" และให้คะแนนแต่ละคะแนนตามจำนวนตัวอักษรในสตริงที่ถูกต้องและอยู่ในตำแหน่งที่ถูกต้อง หากสตริงใหม่ใด ๆ มีคะแนนสมบูรณ์แบบ (28) ให้หยุด เลือกสตริงที่ให้คะแนนสูงสุดจากขั้นตอนที่ 3 วิธีการผูกเน็คไทล์ของคุณนั้นขึ้นอยู่กับคุณ แต่อาจเลือกได้เพียงหนึ่งสาย ใช้สตริงที่เลือกและไปที่ขั้นตอนที่ 2 ผู้ชนะจะเป็นข้อมูลโค้ดสั้นที่สุดเพื่อไปยังคำตอบที่ถูกต้องในขณะที่พิมพ์สตริงที่ให้คะแนนสูงสุดของแต่ละรุ่นในรูปแบบต่อไปนี้: หากคนสามารถช่วยได้โดยการตรวจสอบคำตอบของคนอื่น ๆ จะเป็นประโยชน์มาก!

30
ตัวอักษรของลูกสาวฉัน
วันก่อนเรากำลังเขียนประโยคกับลูกสาวของฉันพร้อมจดหมายแม่เหล็กตู้เย็น ในขณะที่เราสามารถทำบางอย่าง ( I love cat) เราไม่มีตัวอักษรมากพอที่จะทำให้คนอื่น ( I love you too) เนื่องจากจำนวนตัวอักษรไม่เพียงพอo(4) จากนั้นฉันก็พบว่าในขณะที่ชุดหนึ่งมี 3 eตัวอักษรมันมีเพียง 2 oตัว อาจได้รับแรงบันดาลใจจากhttp://en.wikipedia.org/wiki/Letter_frequencyสิ่งนี้จะไม่สะท้อนสถานการณ์จริง "บนตู้เย็น" ปัญหา กำหนดไฟล์ข้อความที่แต่ละบรรทัดมี "ประโยคตัวอย่าง" หนึ่งต้องการเขียนบนตู้เย็นเสนอชุดตัวอักษรที่มีจำนวนตัวอักษรขั้นต่ำ แต่ก็เพียงพอที่จะเขียนแต่ละประโยค หมายเหตุ: ไม่สนใจเคสตัวอักษรแม่เหล็กทั้งหมดเป็นตัวพิมพ์ใหญ่อยู่แล้ว อินพุต ไฟล์มีประโยคที่คั่นด้วยการขึ้นบรรทัดใหม่: hello i love cat i love dog i love mommy mommy loves daddy เอาท์พุต จัดเตรียมรายการเรียงตัวอักษรด้านหลังโดยที่แต่ละตัวอักษรปรากฏหลายครั้งเพียงพอที่จะเขียนประโยคใด ๆ : acdddeghillmmmoostvyy (ขอบคุณ isaacg!) ผู้ชนะ …
65 code-golf 

30
ยกเลิกข้อคิดเห็นโปรแกรม COBOL!
COBOL เป็นภาษาที่เก่าแก่มากในขณะที่เขียนมันเป็น 58 ปี อันที่จริงแล้วมันมีความแปลกประหลาดที่น่าสนใจมาก: ตัวละครหกตัวแรกของแต่ละบรรทัดเป็นความคิดเห็น ทำไมถึงเป็นเช่นนี้คุณถาม เอาล่ะตัวละครทั้ง 6 ตัวนั้นตั้งใจที่จะใช้เป็นหมายเลขบรรทัดย้อนกลับไปในวันที่โปรแกรมไม่ได้พิมพ์แบบดิจิทัลอย่างสมบูรณ์ นอกจากนี้อักขระที่เจ็ดสามารถเป็นส่วนหนึ่งของชุดที่เล็กมากได้ (โดยปกติ*จะใส่เครื่องหมายบรรทัดหรือช่องว่างเพื่อแยกหมายเลขบรรทัดออกจากโค้ด) แต่ถ้าคุณใช้ระบบดิจิทัลมากกว่านี้และคุณแค่ต้องการโปรแกรมดิบ ระบบแสดงความคิดเห็น ความคิดเห็นใน COBOL มีสองประเภท: ความคิดเห็นในบรรทัดและความคิดเห็น "หมายเลขบรรทัด" ข้างต้น หมายเลขโทรศัพท์ที่ไม่ได้กล่าวถึงนั้นง่ายมากเพียงแค่ถอดตัวอักษรเจ็ด (หกบวกช่องว่างเดียว) ออกจากแต่ละบรรทัด 000000 apple 000001 banana celery donuts จะกลายเป็น: apple banana donuts ความคิดเห็นในบรรทัดทำให้ยากขึ้นอีกเล็กน้อย ความคิดเห็นบรรทัดเริ่มต้นด้วยเครื่องหมายดอกจันที่*อยู่ในตำแหน่งอักขระที่เจ็ดของบรรทัดเช่น: 000323* this is a comment นี่ไม่ใช่ความคิดเห็นของบรรทัด: *00000 this isn't a comment หากต้องการยกเลิกการใส่เครื่องหมายข้อคิดเห็นในบรรทัดเพียงลบทั้งบรรทัด ตัวอย่างความเห็น "โปรแกรม": 000000 …

11
ไบต์คู่เท่านั้น
สถานการณ์ เมื่อเร็ว ๆ นี้คุณสังเกตเห็นพฤติกรรมแปลก ๆ บางอย่างกับโปรแกรมแก้ไขข้อความที่คุณโปรดปราน ตอนแรกดูเหมือนว่ามันจะไม่สนใจตัวอักษรแบบสุ่มในรหัสของคุณเมื่อเขียนลงดิสก์ หลังจากที่ในขณะที่คุณสังเกตเห็นรูปแบบ; อักขระที่มีค่า ASCII แปลก ๆ กำลังถูกละเว้น ภายใต้การตรวจสอบเพิ่มเติมคุณพบว่าคุณสามารถเขียนไปยังไฟล์ได้อย่างถูกต้องหากทุกๆแปดบิตเป็นศูนย์ ตอนนี้คุณต้องรู้ว่าไฟล์ที่มีค่าของคุณได้รับผลกระทบจากข้อผิดพลาดแปลก ๆ นี้หรือไม่ งาน คุณต้องเขียนโปรแกรมที่สมบูรณ์ที่กำหนดว่าไฟล์มีไบต์คี่ใด ๆ (แสดงให้เห็นว่าไม่มีการขัดจังหวะ) แต่เนื่องจากโปรแกรมแก้ไขข้อความของคุณคุณไม่สามารถเขียนไบต์แปลก ๆ ในซอร์สโค้ดของคุณได้ คุณอาจสันนิษฐานว่ามีการเข้ารหัสที่มีอยู่ล่วงหน้าสำหรับการป้อนข้อมูลอย่างไรก็ตามคุณยังต้องตรวจสอบทุกไบต์แต่ละตัวไม่ใช่เฉพาะอักขระ อินพุต โปรแกรมของคุณจะนำเนื้อหาหรือพา ธ ไปยังไฟล์จาก stdin หรือบรรทัดคำสั่ง เอาท์พุต โปรแกรมของคุณจะส่งออกไปยัง stdout เป็นค่าจริงหากไฟล์ที่กำหนดมีไบต์คี่หรือเท็จถ้าทุก ๆ แปดแปดเป็นศูนย์ เกณฑ์ นี่คือรหัสกอล์ฟโปรแกรมที่สั้นที่สุดที่จะทำให้งานสำเร็จลุล่วง หากต้องการส่งที่ถูกต้องทุก ๆ แปดบิตในซอร์สโค้ดไฟล์จะต้องเป็นศูนย์ ฉันอยากจะแนะนำรวมถึงสำเนาของไบนารีซอร์สโค้ดของคุณในการส่งของคุณ ช่องโหว่มาตรฐานใช้ กรณีทดสอบ (ในการเข้ารหัส ASCII) อินพุต: "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~ Output: …

9
นอกจากนี้ในฐาน -1 + i
จำนวนเต็ม Gaussianเป็นตัวเลขที่ซับซ้อนของรูปแบบa+biที่aและbเป็นจำนวนเต็มทั้งสอง ในฐาน -1 + i จำนวนเต็ม Gaussian ทั้งหมดสามารถแสดงโดยใช้ตัวเลข0และ1ไม่จำเป็นต้องใช้สัญลักษณ์เพื่อแสดงเครื่องหมาย ตัวอย่างเช่น1100ในฐาน -1 + i หมายถึงจำนวนทศนิยม 2 ตั้งแต่ 1*(-1+i)^3 + 1*(-1+i)^2 + 0*(-1+i)^1 + 0*(-1+i)^0 = (2+2i) + (-2i) + 0 + 0 = 2 การป้อนข้อมูลจะมีสองจำนวนเต็มเสียนในฐาน -1 + i 01ใช้แทนตัวเลข สิ่งนี้สามารถใช้หนึ่งในรูปแบบต่อไปนี้: สองสายแยกหลัก เลขจำนวนเต็มฐานสิบสองจำนวนประกอบด้วย01ตัวเลขฐาน -1 + i (เช่น11002 ในฐาน -1 + i) เลขจำนวนเต็มไบนารีสองตัวแทนตัวเลขฐาน …

19
ทั้งหมดนี้เป็นเพียงแค่เอ่อเคล็ดลับในการเล่นกอล์ฟ
จุดประสงค์ของความท้าทายนี้คือการสร้างปกอัลบั้มที่ยอดเยี่ยมของ ASCII เวอร์ชั่นนี้โดย Pink Floyd วงร็อค รอยต่อกับอิฐที่ทำจากตัวอักษรและ_ |อิฐมีความกว้าง 7 และความสูง 2 ตัวอักษรยกเว้นตัวแยก ดังนั้นหน่วยพื้นฐานรวมถึงทางแยกคือ: _________ | | | | _________ แต่ละแถวของอิฐจะถูกชดเชยด้วยความกว้างของอิฐครึ่งหนึ่ง (4 ตัวอักษร) เทียบกับแถวก่อนหน้า: ________________________________________ | | | | | | | | | | ________________________________________ | | | | | | | | | | ________________________________________ | | | | …

20
เพียงทำซ้ำตัวเอง
เขียนโปรแกรมที่ส่งออก Do not repeat yourself! รหัสโปรแกรมของคุณต้องเป็นไปตามข้อ จำกัด ดังต่อไปนี้: ความยาวของมันจะต้องเป็นเลขคู่ ตัวละครที่อยู่ในแต่ละตำแหน่ง2n(ที่nเป็นจำนวนเต็ม> 0) 2n-1ต้องเท่ากับตัวละครในตำแหน่ง อักขระตัวที่สองของโปรแกรมเท่ากับตัวแรกตัวที่สี่เท่ากับตัวที่สามเป็นต้น ขึ้นบรรทัดใหม่นับเป็นตัวละคร! นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ! ตัวอย่าง HHeellllooWWoorrlldd เป็นโปรแกรมที่ถูกต้อง 123หรือAAABBBหรือHHeelloไม่ถูกต้อง การตรวจสอบ คุณสามารถใช้สคริปต์ CJam นี้เพื่อตรวจสอบว่าซอร์สโค้ดของคุณถูกต้อง เพียงวางรหัสของคุณในช่อง "ป้อนข้อมูล" และเรียกใช้สคริปต์

30
ขยายศิลป์ ASCII
ในการท้าทายนี้คุณจะต้องใช้ศิลปะ ASCII หลายบรรทัดในการป้อนข้อมูลเช่น: OOOOOO OOOOOO OOOOOO OOOOOOO OOOOOO OOOOOO OO OOOOOOO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OOOOO OO OOO OO OO OO OOOOO OO OO OO OO OO OO OO OO OO OO OO OO OOOOOO OOOOOO OOOOOO OOOOOOO …

30
ทำให้คลื่นลูกเม็กซิกัน
ในสองสามไบต์ให้มากที่สุดให้เขียนโปรแกรมหรือฟังก์ชั่นที่ให้ผลลัพธ์ต่อไปนี้: Abcdefghijklmnopqrstuvwxyz aBcdefghijklmnopqrstuvwxyz abCdefghijklmnopqrstuvwxyz abcDefghijklmnopqrstuvwxyz abcdEfghijklmnopqrstuvwxyz abcdeFghijklmnopqrstuvwxyz abcdefGhijklmnopqrstuvwxyz abcdefgHijklmnopqrstuvwxyz abcdefghIjklmnopqrstuvwxyz abcdefghiJklmnopqrstuvwxyz abcdefghijKlmnopqrstuvwxyz abcdefghijkLmnopqrstuvwxyz abcdefghijklMnopqrstuvwxyz abcdefghijklmNopqrstuvwxyz abcdefghijklmnOpqrstuvwxyz abcdefghijklmnoPqrstuvwxyz abcdefghijklmnopQrstuvwxyz abcdefghijklmnopqRstuvwxyz abcdefghijklmnopqrStuvwxyz abcdefghijklmnopqrsTuvwxyz abcdefghijklmnopqrstUvwxyz abcdefghijklmnopqrstuVwxyz abcdefghijklmnopqrstuvWxyz abcdefghijklmnopqrstuvwXyz abcdefghijklmnopqrstuvwxYz abcdefghijklmnopqrstuvwxyZ abcdefghijklmnopqrstuvwxYz abcdefghijklmnopqrstuvwXyz abcdefghijklmnopqrstuvWxyz abcdefghijklmnopqrstuVwxyz abcdefghijklmnopqrstUvwxyz abcdefghijklmnopqrsTuvwxyz abcdefghijklmnopqrStuvwxyz abcdefghijklmnopqRstuvwxyz abcdefghijklmnopQrstuvwxyz abcdefghijklmnoPqrstuvwxyz abcdefghijklmnOpqrstuvwxyz abcdefghijklmNopqrstuvwxyz abcdefghijklMnopqrstuvwxyz abcdefghijkLmnopqrstuvwxyz abcdefghijKlmnopqrstuvwxyz abcdefghiJklmnopqrstuvwxyz abcdefghIjklmnopqrstuvwxyz abcdefgHijklmnopqrstuvwxyz abcdefGhijklmnopqrstuvwxyz abcdeFghijklmnopqrstuvwxyz abcdEfghijklmnopqrstuvwxyz abcDefghijklmnopqrstuvwxyz abCdefghijklmnopqrstuvwxyz …

19
ถอดรหัสรหัสผ่านของบัญชีธนาคาร!
บทนำ เพื่อป้องกันการขโมยคีย์ล็อกรหัสผ่านของผู้ใช้ระบบบัญชีธนาคารบางแห่งได้ดำเนินการตามมาตรการรักษาความปลอดภัยต่อไปนี้: มีเพียงบางตัวเลขเท่านั้นที่ได้รับแจ้งให้ป้อนในแต่ละครั้ง ตัวอย่างเช่นสมมติว่ารหัสผ่านเป้าหมายของคุณคือ89097ระบบอาจแจ้งให้ป้อนรหัสหลักที่ 2, 4 และ 5: 997 หรืออาจแจ้งให้พวกเขาป้อนตัวเลขที่ 1, 3 และหลักที่ 5: 807 ทั้งหมดที่คุณรู้คือเป้าหมายของคุณป้อนตัวเลขในการสั่งซื้อแต่คุณไม่ทราบว่าตำแหน่งที่พวกเขาอยู่ในรหัสผ่านที่แท้จริง ทั้งหมดที่คุณรู้คือมีสอง 9s ซึ่งจะต้องมาก่อน 7; และ 8 นั้นมาก่อน 0 และ 0 ก่อนหน้า 7 ดังนั้นจึงมีหกรหัสผ่านที่เป็นไปได้: 80997 89097 89907 98097 98907 99807 keylogger ในคอมพิวเตอร์เป้าหมายของคุณรวบรวมรหัสผ่านเป็นเวลาหลายเดือนแล้วมาแฮ็กกันเถอะ! ท้าทาย รับรายการอินพุตสามหลักส่งออกรหัสผ่านที่เป็นไปได้ทั้งหมดที่ใช้ได้สำหรับอินพุตทั้งหมด เพื่อลดความซับซ้อนในการคำนวณและเพื่อให้ได้ผลลัพธ์ที่ต่ำที่สุดรหัสผ่านจะรับประกันว่าจะเป็นตัวเลขและมีขนาดคงที่ที่ 5 ตัวเลขในการป้อนข้อมูลทุกครั้งจะเป็นไปตามลำดับ: หากเป็น 123 เป้าหมายพิมพ์ 1 ครั้งแรก จากนั้น 2 จากนั้น …
64 code-golf 

18
NetHack น้อยที่สุด
NetHackเป็นเกมโร๊คไลค์ที่ผู้เล่นจะต้องดึง Amulet of Yendor ออกจากดันเจี้ยนระดับต่ำสุด เล่นกันโดยทั่วไปผ่าน telnet เกมทั้งหมดจะแสดงด้วยกราฟิก ASCII เกมดังกล่าวมีความท้าทายอย่างยิ่งและต้องมีความรู้เกี่ยวกับกลไกต่าง ๆ ของเกมเพื่อที่จะประสบความสำเร็จ สำหรับจุดประสงค์ของการท้าทายสมมติว่าดันเจี้ยนทั้งหมดเป็นระดับเดียวและมีเพียง 5 × 16 ตัวอักษร นอกจากนี้สมมติว่านี่เป็นดันเจี้ยนที่ "ปลอดภัย" หรือคุณกำลังใช้ต้นแบบเท่านั้น - จะไม่มีสัตว์ประหลาดความกังวลเกี่ยวกับความหิว ฯลฯ ที่จริงแล้วคุณต้องติดตามตำแหน่งของตัวละครและเครื่องรางและเกม จะจบลงอย่างมีประสิทธิภาพเมื่อผู้เล่นมาถึงสถานที่เดียวกันกับเครื่องราง ข้อกำหนดในการท้าทาย จะมีดันเจี้ยน 5 × 16 (ระดับเดียว) ให้ตำแหน่งเริ่มต้นของผู้เล่น (สุ่มเลือก) และพระเครื่องจะแยกแบบสุ่ม (แตกต่างกันในแต่ละครั้งที่โปรแกรมทำงาน) เริ่มสี่เหลี่ยมภายในดันเจี้ยน นั่นคือเครื่องรางไม่ได้รับอนุญาตให้เริ่มต้นในตารางเดียวกันกับผู้เล่น ยอมรับปุ่มป้อนข้อมูลสี่ปุ่มซึ่งย้ายผู้เล่นหนึ่งช่องในเวลาเดียวกัน (สี่ทิศทางสำคัญ) อนุญาตให้อ่าน / ประมวลผลอินพุตอื่น (ฟังก์ชั่น readline () ที่ต้องกด 'Enter' ฯลฯ ) ไม่อนุญาตให้เดินทางนอกขอบเขตของคุกใต้ดิน …
64 code-golf 

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