본문 바로가기
Algorithm/수학

[백준][1978번][수학] 소수찾기

by 우툴 2016. 3. 27.
728x90

소수 찾기

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

<코드>

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
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
 
int main(void){
 
    int num;
    int numbers[1000];
    int count = 0;
    scanf("%d", &num);
 
    for (int i = 0; i < num; i++)
        scanf("%d", &numbers[i]);
 
 
    for (int i = 0; i < num; i++){
        int divNum = 1;
 
        if (numbers[i] == 1)
        {
            count++;
            continue;
        }
 
        while (divNum*divNum<=numbers[i]){
            if (divNum == 1) {
                divNum++;
                continue;
            }
            if (numbers[i] % divNum == 0)
            {
                count++;
                break;
            }
            divNum++;
        }
    }
 
    printf("%d\n", num-count);
 
 
    return 0;
}
cs

<문제 푼 요령> 

 1. 이 문제는 에라토스테네스의 체를 이용해서 풀 수 있다.

 2. 그러나 이 문제는 일일이 소수 판별을 해서 카운트 해도 충분하다.

728x90

댓글