반응형
https://www.acmicpc.net/problem/24039
24039번: 2021은 무엇이 특별할까?
백준 온라인 저지의 송년대회 Good Bye BOJ, 2021!의 개최일은 2021년 12월 31일이다. 원이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2021이 무언가 특별하다는 사실을 깨달았다. 그렇
www.acmicpc.net
모든 경우의 수를 탐색하는 brute force문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 소수들을 저장할 vector prime, 소수인지 판별할 일차원 배열 ck, n, 정답을 출력할 ans를 선언 후 입력받습니다.
2. 에라토스테네스의 체 원리를 수행해서 소수인지 판별한 뒤 소수들을 prime에 저장해줍니다.
📔 풀이과정
1. prime의 원소들을 for loop를 수행해 확인합니다.
2. 인접한 두 소수의 곱이 n보다 크다면 ans에 해당값을 저장하고 break해줍니다.
📔 정답출력
ans를 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
vector <int> prime;
int ck[10001], n, ans;
void makePrime(){
for(int i = 2; i*i <= 10000; i++){
if(ck[i]) continue;
for(int j = i+i; j <= 10000; j += i) ck[j] = 1;
}
for(int i = 2; i <= 10000; i++){
if(!ck[i]) prime.push_back(i);
}
}
int main(){
makePrime();
cin >> n;
for(int i = 0; i < prime.size() - 1; i++){
int mul = prime[i] * prime[i+1];
if(mul > n) {ans = mul; break;}
}
cout << ans;
}
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 15489 : 파스칼 삼각형 (1) | 2022.04.18 |
---|---|
(C++) - 백준(BOJ) 8892 : 팰린드롬 (0) | 2022.04.17 |
(C++) - 백준(BOJ) 11068 : 회문인 수 (0) | 2022.04.13 |
(C++) - 백준(BOJ) 1025 : 제곱수 찾기 (4) | 2022.04.05 |
(C++) - 백준(BOJ) 14913 : 등차수열에서 항 번호 찾기 (0) | 2022.03.28 |