본문 바로가기
개발관련/C언어

소수판별하기

by guuuuuuu 2015. 11. 4.

bool prime(int n)

{

    for(int i=2;i<n;i++){

        if(n%i==0)return false; //소수 아님

    }

    return true; //소수임

}

//1과 자기 자신을 제외한 수로 나누어 떨어지지 않는다. 즉 if문을 만족하면 소수가 아님. 


조금 더 향상된 판별 방법


bool prime(int n)

{

    /* --> 소수 판별 오류남..

    int sqrn;

    sqrn = (int)sqrt(n);

     for(int i=2;i<sqrn;i++) // 루트n까지만 돌려도 된다.

    {

        if(n%i==0){

            return false;

        }

    }

    return true;

}

'개발관련 > C언어' 카테고리의 다른 글

일차원, 2차원 배열 동적할당  (0) 2015.11.11
수분할  (0) 2015.11.06
입력된 수를 반대로 출력하기  (0) 2015.11.04
단순연결리스트  (0) 2015.10.01
c - continue  (0) 2014.08.22

댓글