강의로 돌아가기
전현서

소인수분해꿀팁

2부터 시작해서 n까지 범위로 잡고 n에서 나누기 시작합니다.

물론 같은수가 여러번 나누어 질 수 있기 때문에 while문으로 조건에 맞는 동안에는 계속 나눕니다.

그렇게 n이 1이 될 때까지 나누게 된다면,

정답에 추가된 값은 자연스럽게 소수가 됩니다.

왜냐구요?

어떤 수가 나눠진다고 했을 때, 나누어질때까지 while문을 계속 돌리기 때문입니다.

합성수의 원천은 소수의 곱으로 이루어져있기 때문에, 첫 소수인 2부터 시작해서 2로 나눌 수 있을 때 까지
계속 n으로 나누고, 그 다음 수로 올려서 반복하면, 자연스럽게 나누어지는 수는 소수만 해당됩니다.

애초부터 소수의 정의가 그러기에, 당연한 결과가 됩니다.

이 문제는 이런 기본적인 수학적 바탕을 깔고, 그걸 코드로 구현가능한지를 물어보고 싶어하는 것 같습니다.

  • 장문빈

    감사합니다. 감이 오지 않았는데 시원하게 풀렸네요.

    장문빈―2023.03.14 14:16
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.