반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1284 : 암호 해독 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
어떤 수 n이 입력된다.(단, 1<=n<=10,000,000)
출력
n을 두 소수의 곱으로 나타낼 수 있으면 두 수를 오름차순으로 출력한다.
(단, 가능한 소수 중 가장 작은 소수와의 곱으로 나타낸다.)
하고, 그렇지 않으면 "wrong number"를 출력한다.
예시
- 입력 : 21
- 출력 : 3 7
Solution (풀이)
- 풀이 : 메모리 11192, 시간 75
class PrimeNumber {
public boolean isPrimeNumber(int n) {
if (n==2) { // 2는 무조건 소수임으로 바로 return
return true;
} else if (n%2==0) {
return false;
}
for (int i=3; i<n; i+=2) { // 2일때는 위에서 처리했음으로 3부터
if(n%i==0) {
return false;
}
}
return true;
}
}
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
PrimeNumber pn = new PrimeNumber();
String result="wrong number";
for (int i=2; i<n; i++) {
if (n%i==0) { // 나누어 떨어질 때 소수인지 메소드 호풀을 통해 판단
if (pn.isPrimeNumber(i)) {
int j = n/i;
if(pn.isPrimeNumber(j)) {
result = i+" "+j;
break;
}
}
}
}
System.out.println(result);
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1287 : 구구단 *로 출력하기 (0) | 2022.06.30 |
---|---|
[CodeUp_Java] Q1286 : 최댓값, 최솟값 (0) | 2022.06.30 |
[CodeUp_Java] Q1283 : 주식 투자 (0) | 2022.06.30 |
[CodeUp_Java] Q1282 : 제곱수 만들기 (0) | 2022.06.29 |
[CodeUp_Java] Q1281 : 홀수는 더하고 짝수는 빼고 3 (0) | 2022.06.29 |