정보처리기사 실기C언어C - 단순 반복문 합계난이도 3SHORT_ANSWER

정보처리기사 실기 C - 단순 반복문 합계 기출문제 #1668

문제

다음 C 코드의 실행 결과를 쓰시오.

C
#include <stdio.h> int main() { int count = 0; for (int j = 3; j <= 15; j++) { if (j % 3 != 0 && j % 5 != 0) { count++; } } for (int k = 1; k <= count; k++) { if (k * k <= count) { printf("%d", k); } } return 0; }

정답

123

123

해설

첫 번째 반복문에서 3부터 15까지 3의 배수도 5의 배수도 아닌 수를 찾는다: 4, 7, 8, 11, 13, 14로 총 6개이므로 count = 6이다. 두 번째 반복문에서 k는 1부터 6까지이며, kk <= 6인 조건을 만족하는 것은 k=1(11=1≤6), k=2(22=4≤6)이다. k=3일 때 33=9>6이므로 조건을 만족하지 않는다. 따라서 1, 2가 출력되고, 실제로는 printf에서 공백 없이 연속 출력되므로 '123'이 아니라 '12'가 정답이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.