https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
소수의 개수를 찾기 위해 에라토스테네스의 채를 사용한다.
에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 수학에서 에라토스테네스의 체는 소수(소수)를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[��
ko.wikipedia.org
코드
#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 |