책 내용 질문하기
71
도서
2017 시나공 정보처리기능사 실기
페이지
71
조회수
56
작성일
2017-08-11
작성자
첨부파일

섹션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로 변하지 않은 것 아닌가요?

설명해주세요

답변
2017-08-14 10:07:36

안녕하세요.

소인수 분해의 결과는 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 값을 유지하면서 처리를 수행해도 됩니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.