C 언어로 소수 판정 구현

5433 단어 C소수

소개



연습용으로 쓴 소수 판정의 함수를 만드는 기사입니다. 저는 C 언어에 익숙하지 않기 때문에 끊임없는 점이 있으면 죄송합니다. 빨리 구현을 보고 싶은 분은 구현 를 봐 주세요.

구현할 함수 요구 사항


  • 인수는 하나로 int형, 반환값도 int형
  • 인수가 소수이면 1을 반환하고 소수가 아닌 경우 0을 반환합니다.

    그래서 선언은 다음과 같이 했습니다.
    int numberIsPrime(int number);
    

    소수의 정의



    소수의 정의를 확인합니다. 조속하지만 Wikipedia를 살펴 보겠습니다. 소수 - Wikipedia

    1보다 큰 자연수로, 양의 약수가 1로 자신만인 것입니다.

    즉, 받은 정수를 N으로 놓으면 N이 1 이하이거나 2 이상이고 N 미만을 만족하는 정수로 나눌 수 있는 경우 N은 소수가 아니라고 할 수 있습니다. 불필요하게 번거로워졌습니다.

    순서도





    나머지는 이대로 구현할 뿐입니다.

    구현


    int numberIsPrime(int number) {
        int i;
    
        if (number <= 1) return 0;
    
        for (i = 2; i < number; i++) {
            if (number % i == 0) return 0;
        }
    
        return 1;
    }
    

    실행 결과



    우선 main은 -10에서 10의 소수를 출력하는 처리로 했습니다.

    prime.c
    #include<stdio.h>
    
    
    int numberIsPrime(int number);
    
    
    int main(){
        int n;
    
        for (n = -10; n <= 10; n++) {
            if (numberIsPrime(n)) printf("%d\n", n);
        }
    
        return 0;
    }
    
    
    int numberIsPrime(int number) {
        int i;
    
        if (number <= 1) return 0;
    
        for (i = 2; i < number; i++) {
            if (number % i == 0) return 0;
        }
    
        return 1;
    }
    

    출력
    2
    3
    5
    7
    

    제대로 작동하고 있음을 확인할 수 있다고 생각합니다.

    소스 코드



    참고


  • 소수 - Wikipedia
  • 좋은 웹페이지 즐겨찾기