게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C에서.... 아주 초보적인 질문..
게시물ID : programmer_3041짧은주소 복사하기
작성자 : 킁카킁
추천 : 0
조회수 : 400회
댓글수 : 6개
등록시간 : 2014/05/02 15:39:48
#include <stdio.h>

int IsPrime ( int N )
{
int i=0;

for ( i=3; i<N; i++) //N이 1,2이 아닐 경우에, 3부터  N을 나눈다.
{
if (N=2,3)
{
return 1;
break;
}
else if(N%i==0)
{
return 0;
break;
}
else if (N%2==0)
{
return 0;
break;
}
else
return 1;
break;
}
}



int main ()
{
int num,V;

printf ("정수를 입력하세요(종료시 -1)");
while(num!=-1)
{
printf ("n정수 : ");
scanf ("%d",&num);
V = IsPrime (num);
if (num <= 1)
printf ("잘못 입력하였습니다. 2이상의 값을 입력하여 주십시오.");
else if (V=0)
printf ("위 수는 소수가 아닙니다");
else if (V=1)
printf ("위 수는 소수입니다");
else if (num =-1)
break;

}
}




IsPrime 함수를 이용해서 소수인지 아닌지를 나타내는 코드를 짜려구 합니다.
디버그 실행 (▶모양) 으로 실행하면 run time 어쩌구 경고문 뜨긴했는데...
일단 '계속'눌러서 실행하면 잘 의도대로 -1 입력하면 꺼지구 0부터 그 이하 음수 입력하면 오류문도 나오구요.

그런데 4부터 그 위의 소수가 아닌걸 입력해도
위 수는 소수입니다
하고 뜨더라구요. main에서 if가 잘못된건지... IsPrime 함수에서 for if 가 잘못된건지..ㅠㅠ;; 
어디에서 틀린걸까요,,,?
번거로운 글 죄송합니다..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호