728x90
1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
코드
//1978 소수 찾기
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int num = 0;
int a;
int check;
for (int i = 0; i < N; i++) {
check = 0;
cin >> a;
for (int j = 2; j < a; j++) {
if (a % j == 0) {
check = 1;
break;
}
}
if (check == 0 && a != 1) {
num++;
}
}
cout << num << endl;
return 0;
}
결과
설명
입력받을 수의 개수를 N으로 입력 받고, 소수의 개수를 num에 저장한다.
소수는 1과 자기 자신만으로 나눠떨어지는 수이다. 그래서 1부터 자기 자신까지 나눠보면서 나머지가 0이면 소수가 아닌걸로 판단한다.
예외로 1은 소수가 아니므로 예외처리해준다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
알고리즘(C++) / 백준 1292 : 쉽게 푸는 문제 (0) | 2021.02.20 |
---|---|
알고리즘(C++) / 백준 2581 : 소수 (0) | 2021.02.20 |
알고리즘(C++) / 백준 2693 : N번째 큰수 (0) | 2021.02.18 |
알고리즘(C++) / 백준 2609 : 최대공약수와 최소공배수 (0) | 2021.02.18 |
알고리즘(C++) / 백준 2309 : 일곱 난쟁이 (0) | 2021.02.18 |
댓글