บทนำ
ชื่อไฟล์สามารถที่แตกต่างกันอย่างดุเดือดสิ่งตั้งแต่ง่ายไปblah.txt
303549020150514101638190-MSP0.txt
อดีตมักจะเป็นมนุษย์สร้างขึ้นในขณะที่หลังมักจะสร้างเครื่อง มันจะดีหรือไม่ถ้ามีฟังก์ชั่นง่าย ๆ เพื่อคาดเดาการศึกษาว่าไฟล์นั้นอาจถือเป็น "มิตรกับมนุษย์" หรือไม่?
แรงบันดาลใจจากโพสต์โดย Eduard Florinescu ที่ถูกลบไปแล้ว ความคิดของเขาเป็นสิ่งที่ดี แต่ต้องการเพียงเล็กน้อย fleshing
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นในภาษาที่คุณเลือกซึ่งสามารถรับสตริงและพิจารณาว่าเป็น "มนุษย์เป็นมิตร" ตามที่กำหนดโดยความท้าทายนี้
รายละเอียดและกฎเพิ่มเติมบางประการมีดังนี้:
- อินพุตจะเป็นสตริงที่ประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ 95 ตัว
- "เป็นมิตรกับมนุษย์" จะถูกกำหนดด้วยเหตุนี้:
- ไม่รวมส่วนขยายในการพิจารณา นามสกุลถูกกำหนดเป็นช่วงเวลาสุดท้ายตามด้วยชุดของอักขระตัวเลขและตัวอักษร (น้อยที่สุด 1, มากถึง 6)
- ไม่เกินครึ่งของสตริงตามความยาว (ไม่รวมส่วนขยาย) อาจประกอบด้วยกลุ่มของอักขระที่กำหนดไว้ต่อไปนี้ (รวมกัน):
- อักขระทศนิยมมีความยาวมากกว่า 8 ในหนึ่งแถว
- อักขระเลขฐานสิบหก (ตัวพิมพ์เล็กหรือตัวบน xor) อย่างน้อย 16 ตัวในหนึ่งแถว (ต้องประกอบด้วยตัวอักษรและตัวเลขและอย่างน้อยหนึ่งในสามของตัวอักษรเป็นตัวเลข)
- อักขระ Base64 (ใช้
%+=
เป็นอักขระพิเศษ) อย่างน้อย 12 ตัวในหนึ่งแถว (ต้องประกอบด้วยตัวอักษรและตัวเลขเป็นตัวพิมพ์เล็กและอย่างน้อยหนึ่งในสามของตัวอักษรเป็นตัวอักษรตัวพิมพ์ใหญ่)
- หากการจัดกลุ่มใด ๆ ข้างต้นทับกันในความหมาย (เช่นที่มีคุณสมบัติเป็น base64 แต่มี 8 หลักในหนึ่งแถว) ให้เลือกที่ยาวที่สุดที่จะแยกออก
- ผลลัพธ์ควรเป็นค่าที่เป็นจริงหรือเป็นเท็จขึ้นอยู่กับว่าสตริงนั้นถูกพิจารณาว่าเป็น "มนุษย์ที่เป็นมิตร" หรือไม่
- สมมติว่าจะใช้อินพุตที่ถูกต้องเท่านั้น ไม่ต้องกังวลกับการจัดการข้อผิดพลาด
ผู้ชนะจะถูกกำหนดโดยโปรแกรม / ฟังก์ชั่นที่สั้นที่สุด พวกเขาจะถูกเลือกในอย่างน้อย 7 วันหรือถ้า / เมื่อมีการส่งที่เพียงพอ ในกรณีที่เสมอคำตอบที่ได้มาก่อนหน้านี้ชนะ
ตัวอย่าง
นี่คือตัวอย่างของอินพุตและเอาต์พุตที่โค้ดของคุณควรสามารถจัดการได้:
"results_for__michael_greer.txt.zip" => true
"Georg Feuerstein - Connecting the Dots.pdf" => true
"M People - Search for the Hero-ntuqTuc6HxM.mp4" => true
"index.html?v=QTR4WGVTUzFsV3d8NHxvcmlnaW5hbHx8MTExMTAxBHxodHRwOi8vLCwsLHRyLDcsMA%3D%3D.html" => false
"ol2DCE0SIyQC(173).pdf" => false
"d41d8cd98f00b204e9800998ecf8427e.md5" => false
"12792331_807918856008495_7076645197310150318_o.jpg" => false