6
ดักหนูของ Michael Crichton
ในปี 1984 Michael Crichton เขียนโปรแกรมความปลอดภัยใน BASIC ที่ตีพิมพ์ในนิตยสาร Creative Computing โปรแกรมจะขอให้ผู้ใช้พิมพ์วลีที่ต้องการบันทึกช่วงเวลาระหว่างการกดแป้นจากนั้นขอให้เธอพิมพ์วลีอีกครั้ง หากการกำหนดเวลาแตกต่างกันมากเกินไปโปรแกรมจะระบุผู้ใช้ว่าเป็นผู้แอบอ้าง การมอบหมายของคุณ: สร้างโปรแกรมของ Crichton ในภาษาที่คุณเลือก กฎ: วลีสำหรับการสื่อสารกับผู้ใช้ ("โปรดพิมพ์วลีสำคัญ" "โปรดพิมพ์วลีสำคัญอีกครั้ง" ฯลฯ ) นับเป็นหนึ่งไบต์โดยไม่คำนึงถึงความยาวจริง นี่ใช้สำหรับการสื่อสารของผู้ใช้เท่านั้นอย่าพยายามซ่อนรหัสโปรแกรมในสตริง การทดสอบผ่าน / ไม่ผ่านควรขึ้นอยู่กับค่าสัมบูรณ์โดยเฉลี่ยของผลต่างเปอร์เซ็นต์จากช่วงเวลาเดิม หากสตริงไม่ตรงกันให้ส่งคืนข้อผิดพลาดหรืออนุญาตให้ผู้ใช้ลองอีกครั้งตามดุลยพินิจของคุณ วลีที่สำคัญไม่ควรอนุญาตให้มีสตริงที่เป็นโมฆะ ในกรณีที่วลีสำคัญยาวเกินไปสำหรับประเภทข้อมูลสตริงของคุณให้ตัดหรือไม่อนุญาตและเริ่มต้นใหม่ตามดุลยพินิจของคุณ ความไวของการทดสอบ (เกณฑ์สำหรับการทดสอบผ่าน / ไม่ผ่าน) ควรปรับได้ในซอร์สโค้ด เดิมฉันได้ให้โบนัส 20% ของจำนวนไบต์ทั้งหมดหากซอร์สโค้ดของคุณสามารถจัดรูปแบบให้คล้ายไดโนเสาร์ได้ มีการชี้ให้เห็นว่านี่เป็นเรื่องส่วนตัวและอาจเหมาะสมกว่าสำหรับการประกวดความนิยมดังนั้นฉันจึงลบโบนัสนี้ออกไป อย่างไรก็ตามฉันยังคงสนับสนุนการจัดรูปแบบไดโนเสาร์อย่างเต็มที่และหากคุณจัดรูปแบบรหัสของคุณให้ดูเหมือนไดโนเสาร์คุณสามารถหักความคิดเห็นเกี่ยวกับความงามเครื่องสำอางค์ตัวละคร Linebreak หรือ Whitespace จากจำนวนไบต์ทั้งหมดของคุณได้ การนับจำนวนไบต์ที่สั้นที่สุดขึ้นอยู่กับการปรับการจัดรูปแบบความยาวสตริงและไดโนเสาร์ โปรดทราบว่าข้อกำหนดของฉันข้างต้นไม่ตรงกับการทำงานของรหัสของ Crichton สำเนาซึ่งอาจพบได้ทางออนไลน์ ทำตามสเป็คอย่าพยายามโคลนต้นฉบับ