밸런싱 법
개요
가중치 세트를 나타내는 3 자리 한 자리 양의 정수를 입력하면 레버 효과를 고려하여 무게 중심이 중심 피벗 주위에 균형을 이루도록 가중치를 배치 한 시소의 ASCII 표현을 출력합니다.
각 숫자의 가중치는 해당 값과 같습니다. 각 숫자의 토크는 무게가 중심으로부터의 거리를 문자로 곱한 값입니다. 시소가 균형에있을 경우, 시소의 왼쪽에있는 가중치의 합 토크는 같은 오른쪽에 그, 그와 동일해야 이 .
입력
1-9 범위의 정수 3 개 정수를 입력 할 수는 있지만 튜플, 쉼표로 구분 된 3 개의 값 등이 편리합니다. 그러나 프로그램은 입력 된 숫자를 임의의 순서로 처리 할 수 있어야합니다 (즉, 값이 정렬된다고 가정하지 않아야 함). 중복 번호가 입력 될 수 있습니다 (예 : 2,3,2).
입력은 항상 수학적으로 유효한 출력을 허용합니다. 그렇지 않으면 입력이 유효하지 않습니다.
산출
출력물은 무게를 넣은 시소의 2 줄 ASCII 표현이어야합니다. 첫 번째 줄에는 시소에서 균형을 맞추기 위해 간격이있는 숫자가 있습니다.
거리와 토크가 0이되는 스케일의 가장 중앙에 숫자를 배치 할 수 없습니다. 중심으로부터의 유효 거리는 피벗의 왼쪽 또는 오른쪽을 포함하여 1-10 자입니다.
숫자가 차지하지 않는 공간에는 밑줄 문자 18 개가 있습니다 (중심 밑줄과 양쪽에 10 개, 숫자가 차지하는 3 개의 위치 빼기). 마지막 줄에는 피벗을 나타내는 스케일 중심에 정렬 된 단일 캐럿 문자가 있습니다.
예
입력:
4,7,2
산출:
________7___42_______
^
7 * 2 = 4 * 2 + 2 * 3
어느 쪽이든 숫자를 출력 할 수 있습니다. 예를 들어 다음과 같이 유효합니다.
_______24___7________
^
2 * 3 + 4 * 2 = 7 * 2
다음과 같이 균형을 유지하는 한 숫자를 스케일의 어느 곳에 나 배치 할 수 있습니다.
입력:
3,1,5
산출:
_____5________1__3___
^
5 * 5 = 1 * 4 + 3 * 7
또는
____5________1_____3_
^
5 * 6 = 1 * 3 + 3 * 9
또는
____5___________1_3__
^
5 * 6 = 1 * 6 + 3 * 8
기타
프로그램은 유효한 출력 중 하나만 출력하면됩니다. 입력이 유효하지 않은 경우 오류를 출력 할 필요가 없습니다.
노트