배열 A 에서 0으로 치환되는 첨자는
M 변수에 의해 3,5,7, 9, 11........
즉, 배열의 첨자가 2씩 증가 될때마다 0으로 치환 되는게 아닌가요?
디번깅에서 보면 배열 A[8]이 왜 0으로 변환 되었는지
설명 부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
교재 191쪽의 2번 설명을 참고하세요.
a[2]가 0이 아니므로 소수일 때, m = i를 통해 m은 2가 되고(12번 순서도)
m에 a[i]인 3을 더하면서 m은 5가 됩니다.(13번 순서도)
때문에 a[5]는 0이 되고 (15번 순서도)
돌아가면서 다시 m에 a[i]인 3을 다시 더하면서(13번 순서도)
a[8]에 0을 저장하게 되죠 (15번 순서도)
각 소수가 저장된 배열에서 소수값을 더해가며 뒤의 배열에 0을 저장하는 작업을 수행합니다.
소수 2가 저장된 배열 a[1]에서는 2씩 증가하는 배열 첨자 1, 3, 5, 7, 9, 11 을 비우고
소수 3이 저장된 배열 a[2]에서는 3씩 증가하는 배열 첨자 5, 8, 11 을 비우게 되죠.
행복한 하루되세요 :)
-
관리자2019-06-24 13:30:04
안녕하세요 길벗수험서 운영팀입니다.
교재 191쪽의 2번 설명을 참고하세요.
a[2]가 0이 아니므로 소수일 때, m = i를 통해 m은 2가 되고(12번 순서도)
m에 a[i]인 3을 더하면서 m은 5가 됩니다.(13번 순서도)
때문에 a[5]는 0이 되고 (15번 순서도)
돌아가면서 다시 m에 a[i]인 3을 다시 더하면서(13번 순서도)
a[8]에 0을 저장하게 되죠 (15번 순서도)
각 소수가 저장된 배열에서 소수값을 더해가며 뒤의 배열에 0을 저장하는 작업을 수행합니다.
소수 2가 저장된 배열 a[1]에서는 2씩 증가하는 배열 첨자 1, 3, 5, 7, 9, 11 을 비우고
소수 3이 저장된 배열 a[2]에서는 3씩 증가하는 배열 첨자 5, 8, 11 을 비우게 되죠.
행복한 하루되세요 :)
-
관리자2019-06-25 11:04:16
안녕하세요 길벗수험서 운영팀입니다.
a[i]의 값은 항상 2가 아닌가요?
문제에 따르면 a[2]~a[99]는 2~100의 정수가 저장되어 있습니다.
2의 배수가 저장되어 있는 a배열의 값을 0으로 저장한 후
다시 돌아와 7번 과정을 거치면 i는 2, a[i]는 3이 됩니다.
그럼 이제 3의 배수를 0으로 저장하는 과정을 거치겠죠.
m은 5이고 a[i]는 3이 아니라 2 아닌가요?
그러므로 m은 8이 아니라 7이 되는거 아닌가요/
어떤 과정을 거쳐 m이 5이고 a[i]가 2인지 전혀 설명되어 있지 않아 넓게 설명드릴 수 밖에 없습니다.
문제에서 a[99]에 2~100까지 99개의 수가 저장되어 있다고 가정하고 있으므로 a[2]는 3입니다.
때문에 a[2+3] = 0, a[2+3+3] = 0 과정을 13~15번 순서도에서 수행하는 것이죠.
행복한 하루되세요 :)
-
*2019-06-24 21:27:09
질문에 대한 답변을 상세히 읽고 답변 부탁드립니다..
a[i]의 값은 항상 2가 아닌가요?
질문에 대한 해설중에
갑자기 a[i]의 값이 왜 3이 되었는지 답변 부탁드립니다.
빨간 글씨에 답변 부탁드립니다..
a[2]가 0이 아니므로 소수일 때,
m = i를 통해 m은 2가 되고(12번 순서도)
m에 a[i]인 3을 더하면서 m은 5가 됩니다.(13번 순서도)
때문에 a[5]는 0이 되고 (15번 순서도)
돌아가면서 다시 m에 a[i]인 3을 다시 더하면서(13번 순서도) a[8]에 0을 저장하게 되죠
=====> m은 5이고 a[i]는 3이 아니라 2 아닌가요?
그러므로 m은 8이 아니라 7이 되는거 아닌가요/
(15번 순서도) 각 소수가 저장된 배열에서 소수값을 더해가며 뒤의 배열에 0을 저장하는 작업을 수행합니다. 소수 2가 저장된 배열 a[1]에서는 2씩 증가하는 배열 첨자 1, 3, 5, 7, 9, 11 을 비우고 소수 3이 저장된 배열 a[2]에서는 3씩 증가하는 배열 첨자 5, 8, 11 을 비우게 되죠. 행복한 하루되세요 :)