https://www.acmicpc.net/problem/6030


문제
농부 존은 목초지의 특별한 장소에 베시를 위한 간식을 뿌렸습니다. 똑똑한 소는 맛있는 우유를 만든다는 것을 누구나 알고 있기 때문에 FJ는 베시가 생각해야 하는 위치에 간식을 놓았습니다. 그는 그녀에게 두 개의 숫자 P와 Q(1 <= P <= 6,000; 1 <= Q <= 6,000)를 주었고, 그녀는 간식을 찾기 위해 x좌표가 P의 인수이고 y좌표가 Q의 인수인 목초지의 모든 지점을 확인해야 합니다.
FJ가 Bessie에게 P = 24, Q = 2를 준다고 가정합니다. 각각의 요인은 다음과 같습니다.
- P = 24 => 1, 2, 3, 4, 6, 8, 12, 24
- Q = 2 => 1, 2
따라서 베시는 격자 위치를 확인합니다: (1, 1), (1, 2), (2, 1), (2, 2), (3, 1)...
베시가 확인해야 할 모든 사항을 인쇄해 주세요.
입력
- 1번째 줄: 공백으로 구분된 두 정수: P와 Q
출력
- 1번째 줄..?: 첫 번째 숫자와 같은 경우 두 번째 숫자로 정렬된 공백으로 구분된 고유한 정수 쌍의 전체 목록: P의 인수 다음에 Q의 인수
◎알고리즘 [풀이과정]
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
ArrayList<Integer> parr = new ArrayList<Integer>();
ArrayList<Integer> qarr = new ArrayList<Integer>();
int p = sc.nextInt();
int q = sc.nextInt();
for(int i = 1;i<=p;i++) {
if(p%i==0) {
parr.add(i);
}
}
for(int i = 1;i<=q;i++) {
if(q%i==0) {
qarr.add(i);
}
}
for(int i = 0; i < parr.size(); i++) {
for(int j = 0; j < qarr.size(); j++) {
System.out.println(parr.get(i) + " " + qarr.get(j));
}
}
}
}'알고리즘 > 랜덤 마라톤' 카테고리의 다른 글
| [백준] 4623번: Copier Reduction - JAVA[랜덤 마라톤] (0) | 2024.08.25 |
|---|---|
| [백준] 1871번: 좋은 자동차 번호판 - JAVA[랜덤 마라톤] (0) | 2024.08.24 |
| [백준] 18330번: Petrol - JAVA[랜덤 마라톤] (0) | 2024.08.23 |
| [백준] 24736번: Football Scoring - JAVA[랜덤 마라톤] (0) | 2024.08.23 |
| [백준] 11382번: 꼬마 정민 - JAVA[랜덤 마라톤] (0) | 2024.08.23 |