#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 가 잘못된건지..ㅠㅠ;;
어디에서 틀린걸까요,,,?
번거로운 글 죄송합니다..