ฉันกำลังสร้างหุ่นยนต์เลโก้ยักษ์และฉันจำเป็นต้องสร้างอัตราส่วนเกียร์พิเศษบางอย่างโดยใช้ชุดเกียร์ ฉันมีจำนวนมากของเกียร์ที่มีขนาดเลโก้เกียร์ธรรมดา: 8, 16, 24 หรือ 40 ฟัน เขียนโปรแกรมที่ฉันสามารถใช้ในการใส่อัตราส่วนการใส่เกียร์และโปรแกรมบอกฉันว่าควรใช้การรวมกันของเกียร์เพื่อให้ได้อัตราส่วนที่ต้องการ
อัตราส่วนการป้อนข้อมูลจะถูกระบุในการป้อนข้อมูลมาตรฐาน (หรือเทียบเท่าภาษาของคุณ) ที่มีจำนวนเต็มสองจำนวนคั่นด้วยลำไส้ใหญ่ อัตราส่วนของa:b
วิธีการที่เพลาส่งออกควรเปลี่ยนa/b
เวลาเป็นเร็วเป็นเพลาอินพุต
เอาต์พุตไปยังเอาต์พุตมาตรฐานควรเป็นบรรทัดเดียวที่มีรายการอัตราส่วนเกียร์ว่างโดยคั่นด้วยช่องว่างในรูปแบบx:y
ที่x
ขนาดของเกียร์บนเพลาอินพุตและy
เป็นขนาดของเกียร์บนเพลาเอาท์พุท คุณต้องใช้จำนวนเกียร์ต่ำสุดเท่าที่จะเป็นไปได้สำหรับอัตราส่วนที่กำหนด แต่ละคนx
และต้องเป็นหนึ่งในy
8,16,24,40
ตัวอย่าง:
1:5 -> 8:40
10:1 -> 40:8 16:8
9:4 -> 24:16 24:16
7:1 -> IMPOSSIBLE
7:7 ->
6:15 -> 16:40
หากอัตราทดเกียร์ที่ต้องการเป็นไปไม่ได้ให้พิมพ์ "IMPOSSIBLE" หากไม่ต้องการเกียร์ให้พิมพ์สตริงว่าง
นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดชนะ
1:5 -> 8:40
และ10:1 -> 40:8
สมเหตุสมผล แต่คนอื่นไม่มาก
1:5
หมายถึงเพลาส่งออกช้าลง 5 เท่าและเฟืองฟัน 8 อันที่อินพุทและเฟืองเฟือง 40 อันที่เอาต์พุตนั้นเกิดขึ้น
10:1 -> 40:8 16:8
ใช่ไม่ใช่สิ่งที่คุณพูด แล้วคนอื่นสับสนกับคุณอย่างไร 9:4
จะดำเนินการทำ3:2
สองครั้ง จะดำเนินการใช้3:2
24:16
7:7
เหมือนกัน1:1
ดังนั้นจึงไม่จำเป็นต้องใช้อุปกรณ์ในการติดตั้ง