본문 바로가기
[C++] 알고리즘 교육/5. 기본정렬

[알고리즘 5.3.11] 기본정렬 - findprime

by 안산학생 2019. 4. 25.

문제


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

입력


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

 

출력


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

 

예제 입력

4

1

3

5

7

예제 출력

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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
#include <stdio.h>
 
int main() {
 
  int su;
  scanf("%d",&su);
  
  int temp;
  
  int count=0;
  int zero=0;
  
  for(int i=0; i<su; i++){
    scanf("%d",&temp);
    if(temp == 0 || temp == 1){
      zero++;
    }
    if(temp>1){
      for(int j=2;j<temp;j++){
        if(temp%j == 0){
          count++;
          break;
        }
      }
    }
  }
  
  printf("%d",su-count-zero);
  
  return 0;
}

댓글