https://www.acmicpc.net/problem/1978
Idea
소수
는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다.
1
부터 입력된 값
까지 반복문을 돌리면서 입력값과 i값을 나누어 나머지가 0이 된다면 그 수는 소수가 아니다. 반면 입력값에 도달할 때까지 나머지가 0이 생기는 i값이 없다면 그 수는 소수이므로 출력값을 1만큼 증가시킨다.
Code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main(void) {
int n, cnt = 0;
int flag;
int pn;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &pn);
flag = 0;
if (pn == 1) {
continue;
}
for (int j = 2; j < pn; j++) {
if (pn % j == 0) {
flag = 1;
}
}
if (flag == 0) {
cnt++;
}
}
printf("%d", cnt);
return 0;
}
LGTM :)