순서도에 12,13번 박스가 무슨 뜻인지 대충 얼핏 알거 같은데 정확히 무슨 뜻인지 특히 13번 m=m+a(i)가 무슨 의미인가요?
디버깅에서 m은 맨처음 1이 등장하는데 왜 1이 등장한거죠?
또한 교재내용과는 상관없는 질문 입니다만
저가 공부를 할때에 글로 되어있는 설명을 보면 금세 납득이 갑니다
그런데 순서도를 보면 도통 무슨 소리인지 잘 모르겠습니다
그리고 꽤 간단한것들은 풀어지기는 하는데 이게 정확히 이해를해서 풀어지는게 아니라 그냥 감으로 그런거 같다 라는 느낌이 들어서 풀어지는건데 어떻게 고치죠?
안녕하세요.
알고리즘의 이해에서의 설명처럼 이 알고리즘은 소수를 찾아 해당 소수의 배수 들은 소수가 아니라는 것을 이용해 해당 소수의 배수 위치에 미리 0을 기억시켜 두어 해당 소수의 배수 위치는 소수 판단에서 미리 제외될 수 있도록 하는 것입니다.
그러므로 검은색 ⑩번 동그라미에서 A(i), 즉 현재 확인할 배열의 값이 0이면 소수가 아니므로 다음 위치를 확인하고
0이 아니면 소수 처리를 하기 위해 ⑪번으로 이동합니다.
처음에 i는 0으로 시작하여 ⑦번 검은색 동그라미에 의해 1이 됩니다.
A(i), 즉 A(1)의 값은 2입니다. ⑩번 동그라미에서 No가 되어 소수의 개수인 J를 증가시켜 1이되고
이제 2의 배수들의 위치에 0을 기억시키기 위해
M에 i값인 1을 저장합니다.
M=M+A(i)에 의해 이후 M의 값은 M = 1+A(i), i가 1이므로 M=1+A(1), M=1+2, M=3
그리고 다시 M=3+A(i), M=3+A(1), M=3+2, M=5 .. 와 같이 M은 3, 5, 7, 9, 11, ...의 값을 갖습니다.
이로 이해 ⑮번 동그라미에서 A(M) = 0으로 인해 A(3), A(5), A(7), A(9), A(11) .. 에는 각각 0이 저장되는데
그 위치의 값들은 원래 4, 6, 8, 10, ... 과 같이 2의 배수들이 저장되어 있던 위치입니다.
오늘도 즐거운 하루 되세요.
-
*2016-07-11 09:33:58
안녕하세요.
알고리즘의 이해에서의 설명처럼 이 알고리즘은 소수를 찾아 해당 소수의 배수 들은 소수가 아니라는 것을 이용해 해당 소수의 배수 위치에 미리 0을 기억시켜 두어 해당 소수의 배수 위치는 소수 판단에서 미리 제외될 수 있도록 하는 것입니다.
그러므로 검은색 ⑩번 동그라미에서 A(i), 즉 현재 확인할 배열의 값이 0이면 소수가 아니므로 다음 위치를 확인하고
0이 아니면 소수 처리를 하기 위해 ⑪번으로 이동합니다.
처음에 i는 0으로 시작하여 ⑦번 검은색 동그라미에 의해 1이 됩니다.
A(i), 즉 A(1)의 값은 2입니다. ⑩번 동그라미에서 No가 되어 소수의 개수인 J를 증가시켜 1이되고
이제 2의 배수들의 위치에 0을 기억시키기 위해
M에 i값인 1을 저장합니다.
M=M+A(i)에 의해 이후 M의 값은 M = 1+A(i), i가 1이므로 M=1+A(1), M=1+2, M=3
그리고 다시 M=3+A(i), M=3+A(1), M=3+2, M=5 .. 와 같이 M은 3, 5, 7, 9, 11, ...의 값을 갖습니다.
이로 이해 ⑮번 동그라미에서 A(M) = 0으로 인해 A(3), A(5), A(7), A(9), A(11) .. 에는 각각 0이 저장되는데
그 위치의 값들은 원래 4, 6, 8, 10, ... 과 같이 2의 배수들이 저장되어 있던 위치입니다.
오늘도 즐거운 하루 되세요.