루프가 하나만 있어도 충분할 거 같은데 k루프와 i루프가 있는 이유를 설명해 주실 수 있나요?
11653번 - 소인수분해
루프가 하나만 있어도 충분할 거 같은데 k루프와 i루프가 있는 이유를 설명해 주실 수 있나요?
k루프는 가장작은 소수부터 구하기 위해 2부터 돌린 루프이고 i루프는 2부터 시작한 k를 소수인지 검사하기 위해서 만든 루프입니다.
30~39줄에 n이 k로 안 나눠질 때까지 나누는 부분이 있죠?
k가 처음에 2니까 2로 최대한 나누고, 그 다음 3으로 최대한 나눴다고 칩시다.
그 다음 k는 4인데, 앞에서 2로 끝까지 나눴으니까 당연히 4로 안 나눠질 겁니다.
5, 6, 7... 계속 생각해보시면 소수가 아니면 자동으로 걸러지기 때문에
소수인지 직접 판단할 필요가 없다는 걸 알 수 있습니다.
i루프지우니까 시간초과도 해결되고 답도 맞았네요!! 감사합니다 고수님!!
댓글을 작성하려면 로그인해야 합니다.
dongyun9501 1년 전
제곱처리를 해줘서 시간을 줄였는데도 시간초과에러가 뜨네요.. 더 시간을 줄일 수 있는방법은 없을까요?