C언어/디딤돌 C언어 예제

[C언어 소스] 범위 내의 정수 중에 소수 개수를 구하는 함수

언제나휴일 2016. 11. 28. 22:09
반응형

[C언어 소스] 범위 내의 정수 중에 소수 개수를 구하는 함수


Program.c


//디딤돌 C언어 http://ehpub.co.kr

//범위 내의 정수중에 소수(Prime Number)의 개수를 구하는 함수

 

//의사 코드(pseudo code)

//함수 GetCountIsPrime(start: 구간의 시작, end : 구간의 끝)

//count 0으로 초기화

//lcnt start로 초기화(for문의 초기 구문)

//반복: lcnt number보다 작을동안

//    조건 : lcnt가 소수이면

//    count 1 증가

//    lcnt 1 증가(for문의 후처리 구문)

//    count 반환

 

#include <stdio.h>

#include <assert.h>

int IsPrime(int number);//특정 수가 소수인지 판별하는 함수

int GetCountIsPrime(int start, int end);

int main()

{

    assert(GetCountIsPrime(2, 10) == 4);//2, 3, 5, 7

    assert(GetCountIsPrime(5, 20) == 6);//5, 7, 11, 13, 17, 19

    printf("GetCountIsPrime 함수 테스트 성공\n");

    return 0;

}

int IsPrime(int number)

{

    int lcnt = 0;

    for (lcnt = 2; lcnt < number; lcnt++)

    {

        if ((number % lcnt) == 0)

        {

            return 0;

        }

    }

    return 1;

}

int GetCountIsPrime(int startint end)

{

    int lcnt = 0;

    int count = 0;

    for (lcnt = start; lcnt < end; lcnt++)

    {

        if (IsPrime(lcnt))

        {

            count++;

        }

    }

    return count;

}


실행 결과

GetCountIsPrime 함수 테스트 성공



본문

[디딤돌 C언어] 61. 함수 만들기 실습 시나리오

[디딤돌 C언어] 62. 도메인 분석

[디딤돌 C언어] 63. 함수명 결정

[디딤돌 C언어] 64. 함수 원형 결정

[디딤돌 C언어] 65. 테스트 코드 작성

[디딤돌 C언어] 66. 구현 (함수 만들기 실습)




반응형