책 내용 질문하기
2018 정보처리기사 실기 21번 섹션에서 질문이 있습니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
195
조회수
98
작성일
2018-06-16
작성자
탈퇴*원
첨부파일
소인수 분해 하는 과정에서 b가 바뀔때마다 d도 2로 초기화되어야 할 것 같은데 플로차트나 c언어 코드에서나 모두 d=2가 반복문 밖에 있네요. 이유좀 알려주시겠어요? 이것에 대한 답변으로 d를 초기화하는것이 반복문 밖에 있나 안에 있나 결과는 같다라는 것이 있었는데 이해가 잘 안가서요.
답변
2018-06-18 09:31:05
안녕하세요.
D를 2로 초기에 B 값을 나눴을 때 나머지가 0인 경우는 짝수인 경우인데,
2로 나눠진 짝수는 이후 홀수의 몫을 갖게 됩니다.
그러므로 이 값을 다시 2부터 나눠도 나머지는 0이 아니므로 무조건 D는 +1이 되게 됩니다.
이러한 과정이 진행되므로 B를 2로 초기화하는 과정을 처음에 한 번만 수행해도 결과가 동일합니다.
하지만 알고리즘의 이해에서 언급한 소인수 분해 과정에 맞게 순서도를 연계하려면
D를 2로 초기화하는 과정이 반복문 안쪽으로 들어가는 것이 맞습니다.
오늘도 즐거운 하루 되세요.
-
*2018-06-18 09:31:05
안녕하세요.
D를 2로 초기에 B 값을 나눴을 때 나머지가 0인 경우는 짝수인 경우인데,
2로 나눠진 짝수는 이후 홀수의 몫을 갖게 됩니다.
그러므로 이 값을 다시 2부터 나눠도 나머지는 0이 아니므로 무조건 D는 +1이 되게 됩니다.
이러한 과정이 진행되므로 B를 2로 초기화하는 과정을 처음에 한 번만 수행해도 결과가 동일합니다.
하지만 알고리즘의 이해에서 언급한 소인수 분해 과정에 맞게 순서도를 연계하려면
D를 2로 초기화하는 과정이 반복문 안쪽으로 들어가는 것이 맞습니다.
오늘도 즐거운 하루 되세요.