강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

elly_sally님의 프로필 이미지
elly_sally

작성한 질문수

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

C언어 기출문제의 변형

c언어 출제변형 강의 질문

해결된 질문

작성

·

19

0

세번째 문제에서 소수를 구하는 함수 안에 2를 넣으면 조건문에 어긋나는데 (2<2) 이걸 그대로 문제없이 계속 사용할 수 있는건가요??

퀴즈

51%나 틀려요. 한번 도전해보세요!

자바 상속에서 자식 객체 생성 시 생성자 호출 순서의 첫 단계는 무엇일까요?

자식 클래스 생성자 코드 실행

부모 클래스의 기본 생성자 호출

자식 클래스 메소드 호출

정적 초기화 블록 실행

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요!

 

반복문에서 조건이 거짓이 되면 아래를 실행하지 않기 때문에 정상적으로 동작합니다.

if(2<2)가 되면 거짓이 되기 때문에 실행하지 않고 빠져나옵니다. 그러면 return 1이 됩니다.

2는 소수이기 때문에 정상적인 로직으로 수행됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. elly_sally님.

소수를 판별하는 함수에서 숫자 2를 처리하는 부분에 대해 문의해주셨군요. C언어에서 소수를 구할 때 흔히 사용하는 방법은, 주어진 숫자가 어떤 수로도 나누어지지 않는지를 판단하는 것입니다. 일반적으로, 숫자 2는 특별히 조건을 달리하지 않고도 소수로 간주될 수 있습니다.

질문하신 조건 2 < 2로 인해 혼란을 겪으신 것 같은데, 사실 2는 소수이기 때문에 특별한 예외 처리가 필요하지 않은 경우가 많습니다. 소수는 그 자체와 1 외에 다른 약수가 없어야 하고, 이 규칙은 숫자 2에도 그대로 적용됩니다. 함수 내에서 2를 소수로 처리할 때, 보통은 나눗셈 루프를 2부터 시작하지 않고 3부터 시작하거나, 2인 경우를 바로 처리해서 문제를 해결합니다.

함수를 설계할 때, 항상 2는 소수로 간주하여 예외 처리 없이도 적절하게 작동하도록 설계할 수 있기 때문에 현재 코드가 동작한다고 보시면 됩니다. 그래도 코드의 견고성을 위해 초기 조건으로 2를 먼저 확인하도록 구성하는 것도 하나의 방법이 될 수 있습니다.

유사한 질문들에 대한 답변이 기존에 많아, 관련된 링크를 함께 제공드립니다:

이 링크에서는 소수를 판별하는 함수의 구조와 작동 방식에 관한 상세한 설명이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

elly_sally님의 프로필 이미지
elly_sally

작성한 질문수

질문하기