[#51][알고리즘] 소수 찾기
백준 > 소수 찾기
문제 링크(https://www.acmicpc.net/problem/1978)문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력
4 1 3 5 7
예제 출력
3
C++풀이
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n <= 1)
return false;
for (int i = 2; i*i <= n; i++) {
if (n%i == 0)
return false;
}
return true;
}
int main() {
int test, number, count = 0;
cin >> test;
for (int i = 0; i < test; i++) {
cin >> number;
if(isPrime(number))
count++;
}
cout << count << endl;
return 0;
}
| cs |
isPrime함수로 소수인지 판별
1이면 false 리턴
아니면 for문을 통해 나누어 떨어지는 수가 있는 경우 false리턴
아닌경우 true리턴
isPrime의 결과가 true이면 count++;
댓글
댓글 쓰기