https://www.acmicpc.net/problem/1978
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
소수의 개수를 찾기 위해 에라토스테네스의 채를 사용한다.
코드
#include <iostream>
#include <math.h>
using namespace std;
bool cn(int n){
int m = sqrt(double(n));
if(n == 1) return false;
for(int i = 2; i <= m; i++) {
if(n % i == 0) return false;
}
return true;
}
int main(void){
int count;
int n;
int ans = 0; // 소수의 개수 저장
cin>>count;
for(int i = 0; i < count; i++) {
cin>>n;
if(cn(n)) ans++;
}
cout<<ans;
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 6588번: 골드바흐의 추측 (0) | 2020.05.18 |
---|---|
백준 1929번: 소수 구하기 (0) | 2020.05.18 |
백준 11576번: Base Conversion (0) | 2020.05.18 |
백준 2089번: -2진수 (0) | 2020.05.18 |
백준 1212번: 8진수 2진수 (0) | 2020.05.18 |