728x90

0. 주어진 문제 

시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초128 MB25032120191006449.948%

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

입력

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

출력

주어진 수들 중 소수의 개수를 출력한다.












 1. 풀이


1) 이전에 소수 찾는 함수를 만든적이 있어 활용했다.




 2. 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
int main() {
    int i, n;
    int prime[500];
    int ptr = 0;
    prime[ptr++= 2;
    for (n = 3;n <= 1000;n += 2) {
        for (i = 1; i <ptr; i++) {
            if (n%prime[i] == 0)
                break;
        }
        if (ptr == i) {
            prime[ptr++= n;
        }
    }
    std::cin >> n;
    int input[101],count(0);
    for (i = 0;i < n;i++) {
        std::cin >> input[i];
        for (int t = 0;t < input[i];t++) {
            if (input[i] == prime[t]) count++;
        }
    }
 
    std::cout << count;
 
    return 0;
}
cs


 3. 문제 출처


https://www.acmicpc.net/problem/1978


 4. 참고




'<백준> > |c++| easy' 카테고리의 다른 글

[c++] 백준 2747 - 피보나치 수  (0) 2019.04.03
백준 1929 - 소수 구하기(에라토스테네스의 체 활용)  (0) 2019.03.06
백준 10250 - ACM 호텔  (0) 2019.02.20
백준 1193 - 분수찾기  (0) 2019.02.19
백준 2292 - 벌집  (0) 2019.02.19

+ Recent posts