나는 거대한 레고 로봇을 만들고 있는데 기어 세트를 사용하여 특정 기어비를 생성해야합니다. 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
원하는 기어비가 불가능한 경우 "불가능"을 인쇄하십시오. 기어가 필요하지 않으면 빈 줄을 인쇄하십시오.
이것은 코드 골프이며, 가장 짧은 답변이 이깁니다.
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하므로 구현할 기어가 필요하지 않습니다.