반응형
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
코드
#include <stdio.h>
int main(void) {
int n, j;
int num;
int cnt = 0;
scanf("%d", &n); //입력 받을 숫자의 수 입력
for(int i = 0; i < n; i++) { //n만큼 반복
scanf("%d", &num); //숫자 입력
for(j = 2; j < num; j++) { //0과 1은 소수가 아니기 때문에 2부터 입력 받은 숫자까지 반복
if(num % j == 0) { //숫자를 2부터 나눴을 때 나눠떨어지는게 있다면 for문 탈출
break;
}
}
if(num == j) { //만약 자기자신으로 나눠떨어지고 그 외의 숫자가 없다면 카운트
cnt++;
}
}
printf("%d", cnt); //출력
return 0;
}
반응형
'🧠 Algorithm > [C] BOJ' 카테고리의 다른 글
[C언어] 11653번 - 소인수분해 (0) | 2022.04.01 |
---|---|
[C언어] 2581번 - 소수 (0) | 2022.04.01 |
[C언어] 10757번 - 큰 수 A+B (0) | 2022.03.31 |
[C언어] 2839번 - 설탕 배달 (0) | 2022.03.31 |
[C언어] 2775번 - 부녀회장이 될테야 (0) | 2022.03.31 |