풀이과정에서
k j k%j
2 2 0
3 2 1
4 3 0
5 2 0
6 2 1
7 3 2
k=4, j=3일때 부터 k%j 값이 이해가 되지않습니다
나머지를 구하는데 1이 아닌 0과 2가 나오고 0이 1이 되고...
또한 if(k == j) 조건에서 k값을 나타내는데 풀이과정에서는
k와 j가 같은 경우가 k=2, j=2 밖에 없는데
해답은 2 3 5 7 로 나와서 이해가 가지않습니다
안녕하세요 길벗수험서 운영팀입니다.
디버깅표는 변수들의 값의 변화를 단순 나열한 것에 지나지 않습니다.
(같은 열에 있다고 하여 값들의 변화가 같은 시점에 발생한 것이 아닙니다.)
코드를 따라 가며 변수들의 값이 어떻게 변하는지 디버깅표에서 각 값들에 표시해가며 따라가보세요.
k가 2일 때 j의 변화는 2
k가 3일 때 j의 변화는 2, 3
k가 4일 때 j의 변화는 2
k가 5일 때 j의 변화는 2, 3, 4, 5
.....
위와 같이 k가 0으로 나누어 떨어질 때까지 2부터 1씩 증가하면서 나누어가는 방식으로, 나누어 떨어진 시점에서 k와 j가 같다면 해당 수는 소수가 됩니다.
1과 자기 수 외의 나누어 떨어지는 수가 없는 수를 소수라고 부르니까요.
이것이 k가 7인 시점까지 반복되므로 결국 해당 코드는 7까지의 소수인,
2, 3, 5, 7을 화면에 출력하고 break를 만나 종료됩니다.
행복한 하루되세요 :)
-
관리자2021-07-08 10:26:39
안녕하세요 길벗수험서 운영팀입니다.
디버깅표는 변수들의 값의 변화를 단순 나열한 것에 지나지 않습니다.
(같은 열에 있다고 하여 값들의 변화가 같은 시점에 발생한 것이 아닙니다.)
코드를 따라 가며 변수들의 값이 어떻게 변하는지 디버깅표에서 각 값들에 표시해가며 따라가보세요.
k가 2일 때 j의 변화는 2
k가 3일 때 j의 변화는 2, 3
k가 4일 때 j의 변화는 2
k가 5일 때 j의 변화는 2, 3, 4, 5
.....
위와 같이 k가 0으로 나누어 떨어질 때까지 2부터 1씩 증가하면서 나누어가는 방식으로, 나누어 떨어진 시점에서 k와 j가 같다면 해당 수는 소수가 됩니다.
1과 자기 수 외의 나누어 떨어지는 수가 없는 수를 소수라고 부르니까요.
이것이 k가 7인 시점까지 반복되므로 결국 해당 코드는 7까지의 소수인,
2, 3, 5, 7을 화면에 출력하고 break를 만나 종료됩니다.
행복한 하루되세요 :)