카테고리 없음
백준 2061 자바(Java) 좋은 암호 - 필요한 조건만 구현
서병렬
2025. 3. 3. 21:56
문제 태그
- 필요한 조건만 구현
- 상식 배제하기
- BigInteger
특징
K가 인수분해되지 않는 케이스에 대한 언급이 없다.
실무 상황 이라면 당연히 확인해야하는 상황이지만, 이 문제에 대한 해답을 내놓기만 하면 되는 상황에서는 이 경우 K가 1보다 큰 수로 인수분해되지 않는 케이스가 없다고 생각해야한다.
사고 과정은 아래 Mermaid 다이어그램 참고
위의 Mermaid 다이어그램에 대한 코드
graph TD
K --> 소인수분해{소인수분해}
소인수분해 --> K가소수 --> 고려하지않음
소인수분해 --> L미만의소수 --> 나쁜암호
소인수분해 --> 나머지 --> 좋은암호
static void solve() throws Exception {
BigInteger K = new BigInteger(scan.next());
int L = scan.nextInt();
for (int i = 2 ; i <L ; i++) {
if(K.mod(BigInteger.valueOf(i)).equals(BigInteger.ZERO)) {
System.out.println("BAD " +i);
return;
}
}
System.out.println("GOOD");
}