Iriton's log
[C/BOJ] 1978번: 소수 찾기 본문
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
풀이
소수는 1과 자기자신만을 약수로 가지는 수이다.
주어진 숫자가 소수인지 판별하여 소수인 경우 개수를 세고 최종적으로 개수를 출력하면 된다.
#include <stdio.h>
int is_prime(int num) {
if (num < 2)
return 0; // 소수가 아님
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return 0; // 소수가 아님
}
return 1; // 소수임
}
int main() {
int n;
scanf("%d", &n);
int count = 0;
for (int i = 0; i < n; ++i) {
int num;
scanf("%d", &num);
if (is_prime(num))
count++;
}
printf("%d\n", count);
return 0;
}
'Problem Solving > C,C++' 카테고리의 다른 글
[BOJ/C] 2579번: 계단 오르기 (0) | 2023.11.21 |
---|---|
[BOJ/C] 3830번: 교수님은 기다리지 않는다 (0) | 2023.11.21 |
[C/BOJ] 14938번: 서강그라운드 (0) | 2023.10.11 |
[Algorithm/Java] 깊이 우선 탐색(DFS) - 4963번: 섬의 개수 (0) | 2023.09.26 |
[C++/BOJ] 2293번: 동전 1 (0) | 2023.05.31 |
Comments