반응형
https://www.acmicpc.net/problem/1978
○ 소수는 약수가 1과 자기자신만 가지는 숫자를 말한다.
○ 몇번 반복할것인지 ntest입력
○ 소수함수 작성 int sosu(int n)
○ 만약 매개변수 n이 1보다 작거나 같으면 그 숫자는 소수가 아니다
○ 2부터 소수/2 까지 반복하며 만약 (매개변수n)%i 가 0이라면 그 수는 약수가 되는 것이다
#include<stdio.h>
int sosu(int n) {
if (n <= 1) //1은 소수가 아니므로
return 0;
for (int i = 2; i <= n / 2; i++) { //2부터 소수/2 까지 반복하며 나누어떨어지는지 확인
if (n % i == 0) //0이되면 i는 n의 약수가 되는 것이다
return 0;
}
return 1; //반복문이 끝낫으므로 이 숫자는 소수이다 return 1
}
int main() {
int ntest;
int n;
scanf("%d", &ntest);
int score = 0;
for (int i = 0; i < ntest; i++) {
scanf("%d", & n);
if (sosu(n)==1) //만약 소수함수의 리턴값이 1이라면 score +1
score++;
}
printf("%d", score);
}
반응형
'백준' 카테고리의 다른 글
백준 11653번[c언어] : 소인수분해 (0) | 2022.03.20 |
---|---|
백준 2581번[c언어] : 소수 (0) | 2022.03.20 |
백준 10757번[c언어] : 큰 수 A+B (0) | 2022.03.20 |
백준 2839번[c언어][c++] : 설탕배달 (0) | 2022.03.15 |
백준 10250번[C언어] : ACM호텔 (0) | 2022.03.09 |
댓글