5
เคาน์เตอร์ล็อคแบบผสม
ฉากคือ: ปีเตอร์อยู่ที่โรงยิมพร้อมกับเพื่อนของเขาไบรอันเมื่อจู่ ๆ ไบรอันต้องการผู้ช่วยหายใจของเขา ไบรอันจัดการบอกรหัสให้ Peter ทราบรหัสล็อคของเขาก่อนที่เขาจะทรุดตัวลงบนพื้น ช่วงเวลาที่ปีเตอร์ไปถึงตู้เก็บของไบรอันและเห็นว่าตัวบ่งชี้ชี้ไปที่ใดสตีวีก็ซุ่มโจมตีเขาและฉีดสเปรย์พริกไทยเต็มกระป๋องลงบนใบหน้าของเขา ปีเตอร์ตอนนี้ต้องพยายามที่จะเปิดล็อคโดยไม่ได้มองมัน เขาเริ่มหมุนหน้าปัดไปทางขวานับตัวเลขขณะที่เขาเดินผ่านพวกเขา จากนั้นเขาตามหมายเลขที่ถูกต้องเริ่มหมุนหน้าปัดไปทางซ้ายยังคงนับและในที่สุดก็หมุนไปทางขวาจนกว่าล็อคจะเปิดขึ้น ความท้าทาย: เขียนฟังก์ชั่น / โปรแกรมที่รับอินพุตได้สองอินพุตการรวมกันจาก Brian และตำแหน่งตัวบ่งชี้ เอาท์พุทตัวเลขปีเตอร์ต้องนับ กฎ: ชุดค่าผสมและตำแหน่งตัวบ่งชี้ต้องเป็นอาร์กิวเมนต์แยกต่างหาก อินพุตอาจมาจากพรอมต์คำสั่งหรือเป็นอาร์กิวเมนต์ของฟังก์ชัน เอาต์พุตจะต้องถูกพิมพ์ไปที่หน้าจอ / แสดงเป็นอย่างอื่น (ไม่ใช่ไฟล์) สมมติว่าตำแหน่งเริ่มต้นไม่เหมือนกับหมายเลขแรกและตัวเลขทั้งสามตัวในชุดค่าผสมนั้นไม่ซ้ำกัน มันคือล็อคที่แสดงในภาพด้านล่างโดยมีตัวเลขที่เป็นไปได้: 0-39 คำแนะนำ: ในการเปิดล็อคด้านล่างคุณจะต้องทำตามคำแนะนำ: คุณต้องรู้รหัสของคุณ สมมติว่ามันเป็น (38, 16, 22) ในตอนนี้ หมุนปุ่มหมุน 3 ครั้งไปทางขวา (ผ่านหมายเลขเริ่มต้นสามครั้ง) จากนั้นหยุดเมื่อหมายเลขแรก (38) สอดคล้องกับสัญลักษณ์ หมุนหน้าปัด 1 จนสุดโดยหมุนไปทางซ้ายผ่านหมายเลขแรกและหยุดเมื่อตัวเลขที่สอง (16) เรียงกันด้วยตัวบ่งชี้ หมุนปุ่มหมุนไปทางขวาและหยุดเมื่อตัวเลขที่สาม (22) …