주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
주어진 수들 중 소수의 개수를 출력한다.
#include <stdio.h>
#include <string.h>
int main()
{
//1. 소수를 판별하는 법은 소수에 대한 정의를 알아야한다.
//2. 반복문을 사용하여 2부터 num까지의 약수가 있는지를 확인하고 없다면 cnt를 더해준다.
//3. 그렇게 한 다음 인덱스로 num[입력 값] % i 로 나눈다.
//4. for문을 돌리면서 자신의 약수가 있는지 확인하고
//5. i == num과 같다면 cnt를 증가시킨다.
int N, num, cnt = 0;
scanf("%d", &N);
int i = 0;
while (N--)
{
scanf("%d", &num);
for (i = 2; i < num; i++)
{
if (num % i == 0) break;
}
if (i == num) cnt++;
}
printf("%d\n", cnt);
return 0;
}