layout: post
title: "[백준] 1978번_소수 찾기"
date: 2019-05-12
desc: "백준 1978번"
keywords: "Algorithm"
categories: [Algorithm]
tags: [백준, 알고리즘, 1978번, 소수찾기, C++]
icon: icon-html
백준_1978번
소수 찾기
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력 1
4
1 3 5 7
예제 출력 1
3
출처
알고리즘 분류
- 수학
- [에라토스테네스의 체](https://www.acmicpc.net/problem/tag/에라토스테네스의 체)
소스코드
#include <iostream>
using namespace std;
int prime(int n){
int i;
if(n == 1) return 0; // 1은 소수가 아니다
if(n == 2) return 1; // 2는 소수
for(i = 2; i < n; i++){
if(n % i == 0){ // 1과 자기자신을 제외한 수로 나누어지면 안됨
return 0;
}
}
return 1; // 소수일 때
}
int main()
{
int num, check, cnt=0;
cin >> num;
for(int i=0; i<num; i++) {
cin >> check;
if(prime(check)) {
cnt++;
}
}
cout << cnt;
return 0;
}
댓글 영역