범위 변수 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