https://www.acmicpc.net/problem/1978
오랜만에 소수 찾는 것을 프로그래밍 해보았다.
사실 2년전에 했던 코드 보단, 나아진 것 같다.
2년전에는 참, 이상하게 짰는데
2년뒤에 보면 더 이상할 수도 있겠다
어쨋든,
소수를 찾아 개수를 반환해야하는 것이다.
일단, 소수란 1과 자기 자신만으로 나눠떨어지는 1보다 큰 양의 정수이다.
그럼 입력을 받으면서 찾아보자, 라는 생각을 했다.
- 숫자를 입력받고
- 소수를 찾는다
- 숫자 입력받은 만큼 for문을 돌린다.
- 돌리는데 만약 나머지가 0이 된다 == 나눠떨어진다.
- count증가
- 만약 count가 2이상이 된다 -> for문 돌릴 필요가 없다, 어차피 소수가 아니기 때문
- count가 1이거나, 받은 값이 1이 아니라면 sum을 증가 시킨다.
코드보기↓
더보기
코드보기
#include <stdio.h>
int main() {
int N;
int num;
int count = 0;
int sum = 0;
scanf("%d", &N);
while (N--) {
scanf("%d", &num);
count = 0;
for (int i = 2; i <= num; i++) {
if (num % i == 0) {
count++;
if (count > 2)
break;
}
}
if (count == 1 && num != 1) {
sum++;
}
}
printf("%d", sum);
return 0;
}
'Coding Test > Problem_solving' 카테고리의 다른 글
[백준] 9012_괄호 (0) | 2021.02.18 |
---|---|
[백준]9093_단어 뒤집기 (0) | 2021.02.18 |
[백준] 4948_베르트랑 공준 (0) | 2021.02.14 |
[백준]1929_소수 구하기 (0) | 2021.02.13 |
[백준]2581_소수 (0) | 2021.02.12 |