BOJ 26601 - 가장 작은 수
약수가 개를 가진다는 의미는 다음과 같다.
정수의 소인수분해 꼴이 라고할 때,
이다.
이것이 의 거듭제곱 꼴이여야 하므로 로 가능한 값은 임을 알 수 있다.
따라서 대략 까지 나오는 소수들의 위의 거듭제곱 값들 중 이 모두 채워질 때 까지 작은것을 골라주면 된다.
구현은 우선순위큐로 했는데, 예를 들어 처음에 을 넣는다면, 이제 다음에 를 우선순위 큐에 추가해두는 것이다.
또한 도 넣었다면 이제 를 넣어주면 된다.
하나 넣을 때 마다 에서 가 씩 증가하므로 이걸 번 가장 작은것들을 골라서 넣어주기만 하면 된다.
Comments