<소수 찾기>, 1978번
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력 1
4
1 3 5 7
예제 출력 1
3
풀이
이 문제는 자신이 입력할 숫자의 개수를 먼저 N에 입력받은 후 그 N 값 크기만큼 숫자를 입력해 그 입력된 수 중에서 소수의 개수가 몇 개 인지 출력하는 프로그램을 작성하는 것이다. 나는 숫자 N개를 입력 받은 후 for문을 이용해 N까지 돌려 N 값 크기만큼의 숫자를 배열 a에 입력받도록 했다. 그 이후에 소수를 판정하기 위해 for문을 돌려 숫자 2부터 입력된 숫자 값까지 돌린 후 if문을 통해서 소수인지 아닌지를 판정해서 소수라면 count 변수에 값을 더하는 방식으로 프로그램을 제작했다.
#include <stdio.h>
int main(void)
{
int N;
int a[102];
int count = 0;
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &a[i]);
for (int j = 2; j <= a[i]; j++)
{
if (a[i] % j == 0)
if (a[i] == j)
{
count++;
break;
}
else
break;
}
}
printf("%d", count);
return 0;
}