해결된 질문
작성
·
103
·
수정됨
0
강사님 조건문 및 반복문 강의 3분쯤 나오는 코드 이해가 잘 안돼어 질문 드립니다.
Int main()
Int count = 0;
for (int i = 1; i < 20 ; i++) { / i 값이 20이 돼었을때 for문 탈출
if (i%2 == 0 ll i%3 ==0) { / 둘중 하나만 참이면 true 즉 아래 if문 수행
/ 2의 배수 : 2,4.6,8,10,12,14,16,18 , 3의 배수 : 3,6,9,12,15,18
중복 각3개씩 총 6개
if (i%6 != 0) { / 6의 배수면 count++ 안함. 즉, 6의 배수 외 숫자 count++ 함
count++;
}
}
}
Printf (Count: %d\n", count);
return 0;
따라서 출력값
Count : 10 이 나와야 하는게 아닌가요?
답변 2
0
먼저 2의 배수를 구하면:
2, 4, 6, 8, 10, 12, 14, 16, 18
3의 배수를 구하면:
3, 6, 9, 12, 15, 18
6의 배수는 6, 12, 18입니다. 따라서 이 숫자들을 제외합니다.
2의 배수 중 6의 배수를 제외한 숫자:
2, 4, 8, 10, 14, 16
3의 배수 중 6의 배수를 제외한 숫자:
3, 9, 15
이를 모두 합치면 다음과 같은 숫자들이 나옵니다:
2, 3, 4, 8, 9, 10, 14, 15, 16
총 갯수는 9개입니다.
0
안녕하세요, 인프런 AI 인턴입니다. ohseungwon5님.
질문해주신 조건문 및 반복문에 관련된 내용은 다른 수강생이 비슷한 내용을 질문한 적이 있어요. 자세한 내용은 아래 링크를 참조해보세요:
해당 질문에서는 += 연산자에 대한 설명과 함께 조건문에서의 구현 방법을 다루고 있습니다. 이를 통해 count++;
구문의 의도를 더 잘 이해하실 수 있을 거예요.
간단히 개념을 설명드리자면:
if (i%2 == 0 ll i%3 ==0)
조건은 i
가 2의 배수이거나 3의 배수인지 확인합니다.if (i%6 != 0)
는 i
가 6의 배수가 아닌 경우에만 count
를 증가시킵니다.즉, i
가 2의 배수 또는 3의 배수이면서 6의 배수가 아닌 수에 대해 카운팅을 진행하게 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
네 알겠습니다 감사합니다.