Tôi đang chế tạo một robot lego khổng lồ và tôi cần tạo ra một số tỷ số truyền cụ thể bằng cách sử dụng một bộ bánh răng. Tôi có rất nhiều bánh răng với các kích thước bánh răng lego phổ biến: 8, 16, 24 hoặc 40 răng. Viết chương trình Tôi có thể sử dụng khi tôi nhập tỷ số truyền và chương trình cho tôi biết tôi nên sử dụng tổ hợp bánh răng nào để có tỷ lệ được yêu cầu.
Tỷ lệ đầu vào sẽ được chỉ định trên đầu vào tiêu chuẩn (hoặc tương đương với ngôn ngữ của bạn) với hai số nguyên được phân tách bằng dấu hai chấm. Một tỷ lệ a:b
có nghĩa là trục đầu ra sẽ quay a/b
nhanh như trục đầu vào.
Sản lượng đầu ra tiêu chuẩn phải là một dòng duy nhất chứa một danh sách không gian tách biệt của tỷ số truyền động, theo hình thức x:y
nơi x
là kích thước của các bánh răng trên trục đầu vào và y
là kích thước của các bánh răng trên trục đầu ra. Bạn phải sử dụng số lượng bánh răng tối thiểu có thể cho tỷ lệ nhất định. Mỗi x
và y
phải là một trong 8,16,24,40
.
ví dụ:
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
Nếu tỷ lệ bánh răng mong muốn là không thể, hãy in "TÁC ĐỘNG". Nếu không có bánh răng được yêu cầu, in chuỗi trống.
Đây là mã golf, câu trả lời ngắn nhất thắng.
1:5 -> 8:40
và 10:1 -> 40:8
có ý nghĩa nhưng những người khác không quá nhiều.
1:5
có nghĩa là trục đầu ra quay chậm hơn 5 lần và một bánh răng 8 ở đầu vào và một bánh răng 40 ở đầu ra làm cho điều đó xảy ra.
10:1 -> 40:8 16:8
, không phải những gì bạn nói. Những gì về những người khác làm bạn bối rối? 9:4
được thực hiện làm 3:2
hai lần. 3:2
được thực hiện bằng cách sử dụng 24:16
.
7:7
là giống như 1:1
, vì vậy nó không đòi hỏi phải có bánh răng để thực hiện.