반응형
https://www.acmicpc.net/problem/3036
3036번: 링
문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면,
www.acmicpc.net
위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계
수학3의 카테고리에 포함되어 있는 문제이다.
N개의 링이 주어지고 첫 번째 링이 한 바퀴를 돌았을 때,
나머지 링이 몇 바퀴를 도는지 구하는 문제이다.
첫 번째 링과 구하는 링의 최대공약수를 이용하여 풀 수 있는 문제이다.
최대공약수를 구한 후, 구한 최대공약수로 각각의 링을 나누어 주면 된다.
import java.util.Scanner;
public class Question_3036 {
public static void gcd(int A, int B) {
int temp;
int First_Ring = A;
int Next_Ring = B;
while(B > 0) {
temp = B;
B = A % B;
A = temp;
}
System.out.println(First_Ring / A + "/" + Next_Ring / A);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int Number = sc.nextInt();
int[] Ring = new int[Number];
for(int i = 0; i < Number; i++) {
Ring[i] = sc.nextInt();
}
for(int i = 1; i < Number; i++) {
gcd(Ring[0], Ring[i]);
}
}
}
반응형
'BaekJoon' 카테고리의 다른 글
[백준] 2108번 : 통계학(JAVA) (0) | 2019.11.30 |
---|---|
[백준] 1003번 : 피보나치 함수(JAVA) (0) | 2019.11.28 |
[백준] 2609번 : 최대공약수와 최소공배수(JAVA) (0) | 2019.11.27 |
[백준] 10814번 : 나이순 정렬(JAVA) (0) | 2019.11.21 |
[백준] 11653번 : 소인수분해(JAVA) (0) | 2019.11.20 |
댓글