본문 바로가기
프로그래밍/독학(어려워요 같이해요)

c언어 100이하 소수 판별해서 갯수 구하는방법

by 노마드데이터랩 2023. 3. 31.
728x90
반응형

C언어를 사용하여 소수를 판별하고, 특정 범위 안에 소수의 개수를 구하는 함수를 작성해보겠습니다.

우선 소수를 판별하는 방법입니다. 소수는 1과 자기 자신으로만 나누어 떨어지는 수입니다. 따라서 2부터 자기 자신-1까지 나누어서 나머지가 0인 수가 있다면 소수가 아닙니다. 이를 기반으로 소수를 판별하는 함수를 작성해보겠습니다.

int isPrime(int num) { // 소수인지 판별하는 함수
    if(num <= 1) return 0; // 1 이하의 수는 소수가 아님
    for(int i=2; i<num; i++) {
        if(num%i == 0) return 0; // 나누어 떨어지는 수가 있으면 소수가 아님
    }
    return 1; // 나누어 떨어지는 수가 없으면 소수
}

 

이제 특정 범위 안에 소수의 개수를 구하는 함수를 작성해보겠습니다. 이 함수는 반복문을 이용하여 범위 내의 모든 수에 대해 소수 판별을 수행하고, 소수인 경우 카운터를 증가시킵니다.

int cntPrime(int N) { // N 이하의 소수 개수 구하기
    int cnt = 0; // 소수 개수 카운터
    for(int i=2; i<=N; i++) { // 2부터 N까지 반복
        if(isPrime(i)) cnt++; // 소수이면 카운터 증가
    }
    return cnt; // 소수 개수 반환
}

이제 main 함수에서 위의 함수를 호출하여 소수의 개수를 출력하면 됩니다.

int main() {
    printf("cnt = %d\n", cntPrime(100));
    return 0;
}

위의 코드를 실행하면 100 이하의 소수의 개수가 출력됩니다.

이렇게 C언어를 사용하여 소수를 판별하고, 특정 범위 내의 소수의 개수를 구하는 함수를 작성하는 방법에 대해 알아보았습니다.

728x90
반응형

댓글