순서도가 잘 이해가 안되는데 순서도에서 왼쪽 안쪽 반복문에서
NAM=0에서 N이면 반복문을 탈출하라는 것인지 반복문의 끝으로 가라는 것인지 헷갈려요..
바깥쪽 반복문도 CNT=15에서도 N일경우 도 헷갈립니다..
정확하게 설명해주시면 감사하겠습니다.
안녕하세요.
NAM이 0인 경우는 소수가 아닌 경우입니다. 소수가 아니면 저장 대상이 아니므로
저장을 위한 CNT 증가와 값 저장 과정이 필요없으므로 다음 수가 소수인지 판단하기 위해 바깥쪽 반복문의 처음으로 이동합니다.
소수는 홀수이고
소수 중 2, 3은 구해놓고 5부터 2씩 증가하면서 소수를 판단하는 알고리즘입니다.
소수가 홀수이므로 짝수를 제외하기 위해 5부터 2씩 증가시켜 대상을 5, 7, 9, 11, 13 ... 으로 한 것입니다.
또한 홀수를 대상으로 하므로 TMP(2)의 값인 3으로 먼저 나눠서 소수가 아닌 값들을 제외합니다.
배열 A에 소수 2부터 47까지 총 15개의 소수를 구하는 것이므로
CNT가 15가 아니면 계속해서 다음 값이 소수인지 판단하기 위해 바깥쪽 반복문으로 제어를 옮기는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-03-20 13:19:35
안녕하세요.
NAM이 0인 경우는 소수가 아닌 경우입니다. 소수가 아니면 저장 대상이 아니므로
저장을 위한 CNT 증가와 값 저장 과정이 필요없으므로 다음 수가 소수인지 판단하기 위해 바깥쪽 반복문의 처음으로 이동합니다.
소수는 홀수이고
소수 중 2, 3은 구해놓고 5부터 2씩 증가하면서 소수를 판단하는 알고리즘입니다.
소수가 홀수이므로 짝수를 제외하기 위해 5부터 2씩 증가시켜 대상을 5, 7, 9, 11, 13 ... 으로 한 것입니다.
또한 홀수를 대상으로 하므로 TMP(2)의 값인 3으로 먼저 나눠서 소수가 아닌 값들을 제외합니다.
배열 A에 소수 2부터 47까지 총 15개의 소수를 구하는 것이므로
CNT가 15가 아니면 계속해서 다음 값이 소수인지 판단하기 위해 바깥쪽 반복문으로 제어를 옮기는 것입니다.
오늘도 즐거운 하루 되세요.