> 백엔드 개발 > C++ > C에서 정수가 소수인지 어떻게 확인할 수 있나요?

C에서 정수가 소수인지 어떻게 확인할 수 있나요?

Patricia Arquette
풀어 주다: 2024-12-31 09:07:09
원래의
363명이 탐색했습니다.

How Can I Determine if an Integer is Prime in C?

C에서 소수 결정

C에서 주어진 정수가 소수인지 확인하라는 귀하의 요청은 흥미로운 프로그래밍 문제를 불러일으킵니다. 이를 달성하기 위한 단계를 자세히 살펴보겠습니다.

  1. 루프 초기화: 2부터 시작하여 주어진 정수보다 1 작은 숫자까지 반복합니다.
  2. 가분성 확인: 루프의 각 숫자에 대해 정수를 해당 숫자로 나눌 때 나머지를 계산합니다. 나머지가 0이고 숫자 자체가 정수가 아닌 경우 소수가 아닙니다.
  3. 2단계를 반복하세요. 정수의 제곱근에 도달할 때까지 숫자를 계속 반복합니다.
  4. 결과 반환: 루프에 제수가 반환되는 숫자가 없으면 정수는 소수입니다. 그렇지 않으면 소수가 아닙니다.

C#에서 코드는 이 알고리즘을 다음과 같이 구현합니다.

static bool IsPrime(int number)
{
    for (int i = 2; i < number; i++)
    {
        if (number % i == 0 && i != number)
            return false;
    }
    return true;
}
로그인 후 복사

C에 적응:

이 코드를 C로 번역하려면 몇 가지 사소한 작업을 수행해야 합니다. 변경 사항:

  1. C에는 bool 유형이 없으므로 대신 정수를 사용하여 소수인 경우 1을 반환하고 소수가 아닌 경우 0을 반환합니다.
  2. C99에서는 stdbool.h 헤더를 도입했습니다. 이는 bool을 정의하지만, 환경이 C99를 지원하지 않는 경우 위에서 언급한 것처럼 정수를 사용할 수 있습니다.

다음은 수정된 C 코드는 동일한 작업을 수행합니다.

int IsPrime(unsigned int number)
{
    if (number <= 1) return 0; // Zero and one are not prime
    unsigned int i;
    for (i = 2; i * i <= number; i++)
    {
        if (number % i == 0) return 0;
    }
    return 1;
}
로그인 후 복사

이 코드는 정수의 제곱근까지의 나눗셈을 확인하여 성능을 최적화하고 0과 1과 같은 소수가 아닌 경우를 처리합니다.

위 내용은 C에서 정수가 소수인지 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿