[BOJ 1483] 저항
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
3
Time limit:
2.0s
Memory limit:
128M
Problem types
Allowed languages
저항 R1, R2, R3 ,... Rn을 직렬로 연결 하면, (R1+R2+R3+...+Rn)이 되고, 병렬로 연결 하면, 1/((1/R1)+(1/R2)+(1/R3)+...+(1/Rn))이 된다.</p>
두 정수 a와 b가 주어진다. 크기가 1과 2인 저항을 매우 많이 가지고 있을때, 저항을 몇 개를 연결해야 a/b가 되는지 출력하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 a와 b가 주어진다. a와 b는 50,000보다 작거나 같은 자연수이다.
출력 형식
첫째 줄에 필요한 저항의 최소 개수를 출력한다. 만약 필요한 저항의 수가 16개보다 크다면 -1을 출력한다.
예제 입력 1
6 5
예제 출력 1
3
예제 입력 2
1 1
예제 출력 2
1
예제 입력 3
2 3
예제 출력 3
2
예제 입력 4
42 47
예제 출력 4
7
예제 입력 5
1 20
예제 출력 5
-1
예제 입력 6
756 874
예제 출력 6
10
힌트
예제 1의 경우 1과 2를 직렬 연결한 것을 2와 병렬 연결 하면 된다.
Comments