int main(void)
{
int su;
printf("숫자입력:");
scanf("%d", &su);
if(primeNum(su))
printf("%d는(은) 소수입니다.\n", su);
else
printf("%d는(은) 합성수입니다.\n", su);
return 0;
}
primeNum이라는 함수를 써서 소수면 1을리턴해서 참값이나오게하고 합성수면 0을리턴해서 거짓을 나타내게하는건데
하루죙일 생각했는데도 생각이안나.. 이런거는 힌트얻는게 좋을거같은데 힌트좀 ㅜㅜ정말모르겠음
primeNum이라는 함수를 짜겠다는거지?
ㅇㅇprimNum을 int형으로 주고.. int primeNum(int su); 선언해서 그 함수안에서 연산하는건데..
소수를 어케 구하는지 모르겠다는거야??
ㅇㅇ소수를 어케구하는지 모르겠어 ㅋㅋㅋ
나눠서 나누어 떨어지면 자연수고 아니면 소수지
연산자 % 를 찾아봐
코드를 적어주는건 의미없잖아?
소수 구하는 수학공식이 있는것도 아니고 그냥 반복문 써서 2부터 자기자신보다 1작은 수까지 반복문 돌려서 나누어 지냐 안나누어지냐 구해야하지 않나
재귀로 무식하게 짜는 수 밖에 없음 그래서 계속 다음 소수를 구하다가 입력된 정수와 같은게 나오면 소수이고 입력된 정수보다 큰 소수가 만들어지면 합성수로 확정되는거겠지?
아 물론 모든 재귀가 반복문으로 구현 가능하니까 짜면 짤수는 있겠는데 더럽게 느릴것임
ㄳㄳㄳㅇㅋ돌파구를찾았다
역시 프밍갤이 힌트얻기좋다..ㅋ
취하선형말대로 자기자신보다 작은수 1까지 수를 돌리고 거기서 나머지가 0인것이 나오면 바로 참값을 리턴하고 계속돌렸는데도 0으로 나오는 나머지가없으면 1로 리턴하게했더니 소수하고 합성수를 구분지을수있네 ㅋㅋㅋ아 이렇게쉬운걸ㅋㅋ