1권 177쪽에서
플로 차트를 보게되면
11번식을 진행한후에
5번밑으로 가야할거같은데
4번밑으로 다시 진행을 하고있더라구요
이렇게되면 계속 j=2를 강조하려고 저기있는건가 싶기도하고
아니면 단지 초기k값 밑에 두려고
크게 의미 두지 않아도 되는건지 알고싶습니다
안녕하세요 길벗수험서 운영팀입니다.
j의 값은 매 수의 값을 소수판별시 마다 2로 초기화해주어야 합니다.
그렇지 않으면 앞에서 소수판별시 증가했던 j값이 그래도 남아있어 다음 수의 소수를 판별할 때 오차가 발생합니다.
예를 들어,
k가 3일 때 소수이므로 j는 3의 값을 가지고 있습니다.
이것이 10번, 11번 과정을 거쳐 5번 아래로 간다고 가정한다면, j는 여전히 3의 값을 갖고 있게 될 것이고,
k(3)의 다음 수인 k(4)를 3부터 나머지가 0인 경우를 탐색할 경우, 2를 체크하지 않아 나눔수가 4밖에 없는 소수라고 판별해버릴 것입니다.
때문에 11번 식을 진행한 후에는 j를 초기화하는 작업을 포함하기 위해 5번의 위로 간것입니다.
행복한 하루되세요 :)
-
관리자2019-06-17 11:32:41
안녕하세요 길벗수험서 운영팀입니다.
j의 값은 매 수의 값을 소수판별시 마다 2로 초기화해주어야 합니다.
그렇지 않으면 앞에서 소수판별시 증가했던 j값이 그래도 남아있어 다음 수의 소수를 판별할 때 오차가 발생합니다.
예를 들어,
k가 3일 때 소수이므로 j는 3의 값을 가지고 있습니다.
이것이 10번, 11번 과정을 거쳐 5번 아래로 간다고 가정한다면, j는 여전히 3의 값을 갖고 있게 될 것이고,
k(3)의 다음 수인 k(4)를 3부터 나머지가 0인 경우를 탐색할 경우, 2를 체크하지 않아 나눔수가 4밖에 없는 소수라고 판별해버릴 것입니다.
때문에 11번 식을 진행한 후에는 j를 초기화하는 작업을 포함하기 위해 5번의 위로 간것입니다.
행복한 하루되세요 :)