ฉากคือ:
ปีเตอร์อยู่ที่โรงยิมพร้อมกับเพื่อนของเขาไบรอันเมื่อจู่ ๆ ไบรอันต้องการผู้ช่วยหายใจของเขา ไบรอันจัดการบอกรหัสให้ Peter ทราบรหัสล็อคของเขาก่อนที่เขาจะทรุดตัวลงบนพื้น
ช่วงเวลาที่ปีเตอร์ไปถึงตู้เก็บของไบรอันและเห็นว่าตัวบ่งชี้ชี้ไปที่ใดสตีวีก็ซุ่มโจมตีเขาและฉีดสเปรย์พริกไทยเต็มกระป๋องลงบนใบหน้าของเขา
ปีเตอร์ตอนนี้ต้องพยายามที่จะเปิดล็อคโดยไม่ได้มองมัน เขาเริ่มหมุนหน้าปัดไปทางขวานับตัวเลขขณะที่เขาเดินผ่านพวกเขา จากนั้นเขาตามหมายเลขที่ถูกต้องเริ่มหมุนหน้าปัดไปทางซ้ายยังคงนับและในที่สุดก็หมุนไปทางขวาจนกว่าล็อคจะเปิดขึ้น
ความท้าทาย:
เขียนฟังก์ชั่น / โปรแกรมที่รับอินพุตได้สองอินพุตการรวมกันจาก Brian และตำแหน่งตัวบ่งชี้ เอาท์พุทตัวเลขปีเตอร์ต้องนับ
กฎ:
- ชุดค่าผสมและตำแหน่งตัวบ่งชี้ต้องเป็นอาร์กิวเมนต์แยกต่างหาก
- อินพุตอาจมาจากพรอมต์คำสั่งหรือเป็นอาร์กิวเมนต์ของฟังก์ชัน
- เอาต์พุตจะต้องถูกพิมพ์ไปที่หน้าจอ / แสดงเป็นอย่างอื่น (ไม่ใช่ไฟล์)
- สมมติว่าตำแหน่งเริ่มต้นไม่เหมือนกับหมายเลขแรกและตัวเลขทั้งสามตัวในชุดค่าผสมนั้นไม่ซ้ำกัน
- มันคือล็อคที่แสดงในภาพด้านล่างโดยมีตัวเลขที่เป็นไปได้: 0-39
คำแนะนำ:
ในการเปิดล็อคด้านล่างคุณจะต้องทำตามคำแนะนำ:
- คุณต้องรู้รหัสของคุณ สมมติว่ามันเป็น (38, 16, 22) ในตอนนี้
- หมุนปุ่มหมุน 3 ครั้งไปทางขวา (ผ่านหมายเลขเริ่มต้นสามครั้ง) จากนั้นหยุดเมื่อหมายเลขแรก (38) สอดคล้องกับสัญลักษณ์
- หมุนหน้าปัด 1 จนสุดโดยหมุนไปทางซ้ายผ่านหมายเลขแรกและหยุดเมื่อตัวเลขที่สอง (16) เรียงกันด้วยตัวบ่งชี้
- หมุนปุ่มหมุนไปทางขวาและหยุดเมื่อตัวเลขที่สาม (22) ตรงกับตัวบ่งชี้
- ดึงล็อคลง
ตัวอย่าง:
Input
38 16 22
33
Output
33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 39 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22
บังคับใช้กฎกอล์ฟมาตรฐาน
โซลูชั่นที่โพสต์ในภายหลังยังคงชนะถ้าพวกเขาสั้นกว่าคำตอบของเดนนิส
function combination(code){alert("Help! Someone open this locker, the combination is "+code+"!")}