작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
202
0
7분 20초 num의 소수 존재유무 예제 질문드립니다.
for (unsigned div = 2; div < num; ++div)
{
if (num % div == 0)
isPrime = false;
}
이 부분에서 반복 조건이 (div < num) 하나밖에 없는데도 num의 소수 존재 유무를 알 수 있는 이유가 어떤건가요?
예를 들어 num이 숫자 9라면 div가 2일때는 isPrime = true였다가 div 3일때는 isPrime = false로 바뀌고 다시 div가 4일때는 isPrime = true로 바뀌어서 반복조건에 (div < num) 하나만 있으면 isPrime이 제대로 된 값을 갖지 못하는것 아닌가요?
제가 생각하기에는 조건에 (div < num) && (isPrime == true)가 있어야 한다고 생각했는데 강의에 나온대로 코딩하면 문제없이 잘 이루어지는게 이해가 안되서 질문드립니다.
답변 2
0
0
안녕하세요,
if문은 참이 아닐 경우, 코드를 실행하지 않습니다.
div가 4일때는 isPrime = true로 바뀐다고 하셨는데,
사실 코드 자체가 실행되지 않기 때문에,
한 번 false로 바뀐 isPrime변수는 다시 true가 되지 않습니다.