섹션12 소인수분해하기 문제에서요
검정색 동그라미 16번까지는 이해했습니다.
만약 b=51 이라고 했을때,
51의 int 제곱근 7이니까 2부터 7까지 나누어 떨어지는지 검사를 하면 되잖아요?
그래서 일단 2를 했는데 몫:25/나머지1이 나와서 안되니까
d=d+1 해서 3으로 바꿔주고 51나누기3을 하면 몫:17/나머지:0으로 나누어 떨어지니까
우선 3이 51의 소인수가 되잖아요
그 후엔 몫 17을 b로 바꾸어주고 다시 순서대로 대풀이 하는 거잖아요?
여기까지가 제가 이해한 검정색동그라미 16번까지 입니다.
//////////////////
그런데 여기서 17의 제곱근이 4니까 2.3.4 순서대로 나누어떨어지는지 검사를 해봐야 하는데
그러면 아까 위에 계산에서 d=3으로 되었으니까 d를 다시 2로 바꾸어 주어야 하잖아요
그러면16번 동그라미까지 하고 다시 반복문 하려고 위로 올라갔을때 반복문 화살표가
검정색동그라미 3번과 4번 사이에 있어야지 d 값이 2로 되는거 아닌가요?
교재에는 4번과 5번사이에 화살표가 있어요. 그러면 d값은 아직 2로 변하지 않은 것 아닌가요?
설명해주세요
안녕하세요.
소인수 분해의 결과는 20일 경우 2 * 2 * 5가 됩니다.
즉 첫 번째 소수보다 이후에 나오는 소수들은 작은 값이 아니죠.
2 * 5 * 2와 같이 산출되지는 않습니다.
51을 소인수 분해하면
3 * 17이 됩니다.
즉 2를 초기값으로 갖은 이후 소수가 한 번 구해진 후에는 그 때의 D 값을 유지하면서 처리를 수행해도 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-08-14 10:07:36
안녕하세요.
소인수 분해의 결과는 20일 경우 2 * 2 * 5가 됩니다.
즉 첫 번째 소수보다 이후에 나오는 소수들은 작은 값이 아니죠.
2 * 5 * 2와 같이 산출되지는 않습니다.
51을 소인수 분해하면
3 * 17이 됩니다.
즉 2를 초기값으로 갖은 이후 소수가 한 번 구해진 후에는 그 때의 D 값을 유지하면서 처리를 수행해도 됩니다.
오늘도 즐거운 하루 되세요.