Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 범위의 소수 계산

<시간/>

범위 변수 START 및 END가 제공됩니다. 목표는 [START,END] 범위에서 소수의 개수를 찾는 것입니다.

범위의 숫자 i가 1 이외의 숫자가 완전히 분할되고 1과 i/2 사이인지 확인하여 소수인지 확인할 것입니다. 프라임이라면. 증분 카운트.

예를 들어 이해합시다.

입력

시작=1 끝=20

출력

범위의 소수:8

설명

1과 20 사이의 소수는 2,3,5,7,11,13,17,19입니다.

입력

시작=100 끝=200

출력

범위의 소수:21

설명

100과 200 사이의 소수는 다음과 같습니다. 

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 범위 변수를 START 및 END로 사용합니다.

  • countPrimes(int strt,int end) 함수는 범위 내 소수의 개수를 반환합니다.

  • 초기 변수 개수를 0으로 간주합니다.

  • for 루프를 사용하여 i=strt에서 i <=end

    로 트래버스
  • 각 숫자 i를 취하고 isprime(i)를 사용하여 소수인지 확인합니다.

  • 함수 isprime(int num)은 숫자가 소수가 아니면 0을 반환하고 소수이면 1을 반환합니다.

  • 루프 종료 후 결과로 count를 반환합니다.

예시

#include 네임스페이스 std;int isprime(int num){ if (num <=1) return 0; for (int i =2; i <=num/2; i++){ if (num % i ==0) { return 0; } } 반환 1; //둘 다 실패하면 num은 프라임}int countPrimes(int strt,int end){ int count=0; for(int i=strt;i<=end;i++){ if(isprime(i)==1) { count++; } } 반환 횟수;}int main(){ int START=10, END=20; cout < 

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

소수 범위:4