Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이미지 엑스 박스
- Check that the SDK is installed properly
- jpg
- collect2.exe
- ue5
- AndroidStudio
- 1d returned
- LNK1168
- StableDiffusion #Unity #Inspector #Custom #WordRank
- SDK
- NDK
- 코딩 테스트 #leetcode #two sum #coding test
- Android is not a valid platform
- vscode
Archives
- Today
- Total
안경말이
[1978 c++] 백준 1978번 소수 찾기 본문
소수란 1과 자기 자신만을 인수로 가지는 수를 의미한다.
소수 문제 풀이의 방법으로 에라토스테네스의 체를 첫번째로 떠올렸고, 두번째는 다음과 같은 로직을 떠올렸다.
1. 나눠 떨어지는 값이 0이 되면
2. 나누는 수(j)가 1 또는 자기 자신인지 확인하고
3. 맞으면 cnt를 증가, 아니라면 j for문을 빠져나와 i for문의 다음을 실행한다.
여기서 cnt는중간에 break로 나오게 되었을 때는 소수가 아니므로 rest에 저장되지 못하게 하는 역할을 한다.
위와 같은 로직에 따라 다음의 코드가 나온다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int a, b;
int cnt = 0;
int rest = 0;
cin >> a;
for (int i = 0; i < a; i++) {
cnt = 0;
cin >> b;
if (b == 1)continue;
for (int j = 1; j <= b; j++) {
if (b % j == 0) {
if (j == 1 || j == b) {
cnt++;
continue;
}
else break;
}
}
if (cnt == 2)rest++;
}
cout << rest;
}
'Coding Test > Baekjoon' 카테고리의 다른 글
[25304 c++] 백준 영수증 (2) | 2022.10.26 |
---|---|
[8393 c++] 백준 합 (1) | 2022.10.26 |
[10818 c++] 백준 10818번 최소, 최대 (2) | 2022.10.23 |
Comments