728x90
반응형
C언어를 사용하여 소수를 판별하고, 특정 범위 안에 소수의 개수를 구하는 함수를 작성해보겠습니다.
우선 소수를 판별하는 방법입니다. 소수는 1과 자기 자신으로만 나누어 떨어지는 수입니다. 따라서 2부터 자기 자신-1까지 나누어서 나머지가 0인 수가 있다면 소수가 아닙니다. 이를 기반으로 소수를 판별하는 함수를 작성해보겠습니다.
int isPrime(int num) { // 소수인지 판별하는 함수
if(num <= 1) return 0; // 1 이하의 수는 소수가 아님
for(int i=2; i<num; i++) {
if(num%i == 0) return 0; // 나누어 떨어지는 수가 있으면 소수가 아님
}
return 1; // 나누어 떨어지는 수가 없으면 소수
}
이제 특정 범위 안에 소수의 개수를 구하는 함수를 작성해보겠습니다. 이 함수는 반복문을 이용하여 범위 내의 모든 수에 대해 소수 판별을 수행하고, 소수인 경우 카운터를 증가시킵니다.
int cntPrime(int N) { // N 이하의 소수 개수 구하기
int cnt = 0; // 소수 개수 카운터
for(int i=2; i<=N; i++) { // 2부터 N까지 반복
if(isPrime(i)) cnt++; // 소수이면 카운터 증가
}
return cnt; // 소수 개수 반환
}
이제 main 함수에서 위의 함수를 호출하여 소수의 개수를 출력하면 됩니다.
int main() {
printf("cnt = %d\n", cntPrime(100));
return 0;
}
위의 코드를 실행하면 100 이하의 소수의 개수가 출력됩니다.
이렇게 C언어를 사용하여 소수를 판별하고, 특정 범위 내의 소수의 개수를 구하는 함수를 작성하는 방법에 대해 알아보았습니다.
728x90
반응형
'프로그래밍 > 독학(어려워요 같이해요)' 카테고리의 다른 글
단정도 부동소수점이랑 배정도 부동소수점의 차이 (0) | 2023.03.31 |
---|---|
이름을 영어로 대문자로 입력하면 소문자로 출력하는 프로그램 (0) | 2023.03.31 |
String의 생성자와 String(byte[] bytes, int offset, int length)와 InputStream 클래스 read(byte[] bytes, int offset, int length) 비교 (0) | 2023.03.30 |
파이썬 코딩할 때 전문가처럼 코딩해보기. Style Guide for Python Code 따르기. (0) | 2021.05.15 |
파이썬 화씨 온도에서 섭씨 온도로 바꿔주는 코드 (0) | 2021.05.10 |
댓글