입력 코드
#include <stdio.h>
main() {
int N, count = 0;
int n, i, j, tmp;
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%d", &n);
tmp = 1;
if (n == 1)
continue;
for (j = 2; j < n; j++) {
if (n % j == 0)
tmp = 0;
}
if (tmp == 1)
count++;
}
printf("%d\n", count);
}
코드 설명
#수학 #정수론 #소수판정 #에라토스테네스의 체
#include <stdio.h>
#include <string.h>
int primenumber(int arr[]) {
int i,j;
int count = 0;
for (i = 0; i < strlen(arr); i++) {
for (j = 2; j < arr[i]; j++) {
if (arr[i] % j == 0)
return 0;
}
}
return 1;
}
main() {
int N, count;
int num[100];
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%d", num[i]);
if (primenumber(num[i]) == 1)
count++;
else
count = count;
}
printf("%d\n", count);
}
#include <stdio.h>
#include <string.h>
int primenumber(int n) {
int i;
int tmp = 1, count = 0;
if (n == 1)
tmp = 0;
for (i = 2; i < n; i++) {
if (n % i == 0)
tmp = 0;
}
if (tmp == 1)
count++;
printf("%d\n", count);
}
main() {
int N, count;
int num[100];
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%d", &num[i]);
primenumber(num[i]);
}
}
뭔가 간단하게 풀릴 것 같았는데
디테일한 부분에서 계속 막혀서 한참을 헤맸다.
조건을 어디에 넣고, 반복문을 어디까지 실행시키고, 변수를 새로 선언해야 되나 등등,,,
↓↓↓ 참고한 사이트
문제 출처
'C' 카테고리의 다른 글
#55. [백준_C언어] 2609 : 최대공약수와 최소공배수 (0) | 2021.01.29 |
---|---|
#54. [백준_C언어] 2164 : 카드2 (0) | 2021.01.28 |
#52. [백준_C언어] 1920 : 수 찾기 (0) | 2021.01.27 |
#51. [백준_C언어] 1181 : 단어 정렬 (0) | 2021.01.27 |
#50. [백준_C언어] 1018 : 체스판 다시 칠하기 (0) | 2021.01.26 |