[백준] 11502번 세 개의 소수 문제 (C++)

2025. 9. 1. 19:24·Algorithm
728x90

https://www.acmicpc.net/problem/11502

 

 

홀수 K를 입력받은 후 3개의 소수를 더해서 K를 만들어야 하는 문제이다.

 

K의 범위가 1 ~ 1000밖에 안되기 때문에

 

1 ~ 1000의 소수를 구하고 구한 수들을 중복허용하여 모든 경우의 수를 구해서 값이 만들어지는지 확인하면 된다.

 

따라서 3중 for문을 사용하여 구하였다.

 

 

정답코드

#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
typedef long long ll;
#define endl "\n"
#define MAX 1e9

struct coordinate {
    int x;
    int y;
    int r;
};

int dx[] = {0 ,0, -1, 0, 1, 1, -1, -1, 1};
int dy[] = {0, -1, 0, 1, 0, -1, 1, -1, 1};
int T, N;
int arr[1001];
vector<int> v;

void solve() {
    for(int i = 0; i < v.size(); i++) {
        for(int j = 0; j < v.size(); j++) {
            for(int k = 0; k < v.size(); k++) {
                if(v[i] + v[j] + v[k] == N) {
                    cout << v[i] << " " << v[j] << " " << v[k] << endl;
                    return;
                }
            }
        }
    }

    cout << 0 << endl;
}

void Init() {
    arr[0] = true;
    arr[1] = true;

    for(int i = 2; i <= 1000; i++) {
        if(!arr[i]) {
            for(int j = i + i; j <= 1000; j += i) {
                arr[j] = true;
            }
        }
    }

    for(int i = 2; i <= 1000; i++) {
        if(!arr[i]) {
            v.push_back(i);
        }
    }
}

void input() {
    cin >> T;

    Init();

    while(T--) {
        cin >> N;

        solve();
    }
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);

    input();
}

 

728x90
저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

[백준] 10653번 마라톤 2 (C++)  (0) 2025.09.03
[백준] 14888번 연산자 끼워넣기 (C++)  (0) 2025.09.02
[백준] 23326번 홍익 투어리스트 (C++)  (0) 2025.08.31
[백준] 14395번 4연산 (C++)  (0) 2025.08.30
[백준] 13265번 색칠하기 (C++)  (0) 2025.08.29
'Algorithm' 카테고리의 다른 글
  • [백준] 10653번 마라톤 2 (C++)
  • [백준] 14888번 연산자 끼워넣기 (C++)
  • [백준] 23326번 홍익 투어리스트 (C++)
  • [백준] 14395번 4연산 (C++)
쿨쿨.
쿨쿨.
  • 쿨쿨.
    All of the life
    쿨쿨.
  • 전체
    오늘
    어제
    • 분류 전체보기 (284) N
      • Programming (51) N
        • C, C++ (18)
        • Python (6)
        • Java (1)
        • HTML,CSS,JS (3)
        • SQL(DB) (13)
        • SpringBoot (7) N
        • Android (2)
        • CI,CD (1)
      • Algorithm (173)
        • Review (4)
      • Security (14)
        • WebHacking (3)
        • Websecurity (11)
      • OS (19)
        • Linux (12)
        • Mac os (2)
      • 머신러닝 (1)
      • CS(Computer Science) (12)
        • 컴퓨터 네트워크 (3)
        • 컴퓨터 구조 (1)
        • 인공지능 (8)
      • Docker (2) N
      • Dev Book Review (3)
        • Clean Code (1)
        • Effective Java (0)
        • Real MySQL (2)
      • SWM (1)
      • Review (6)
      • AWS (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정렬
    Bandit
    비트마스킹
    투포인터
    이분탐색
    DFS
    wargame
    BFS
    백트래킹
    다이나믹 프로그래밍
    c언어
    다익스트라
    그리디
    깊이우선탐색
    누적합
    백준
    WebSecurity
    구현
    우선순위큐
    우선순위 큐
    코딩
    Leviathan
    트리
    그래프 이론
    브루트포스
    linux
    에라토스테네스의 체
    시뮬레이션
    재귀
    DP
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.6
쿨쿨.
[백준] 11502번 세 개의 소수 문제 (C++)
상단으로

티스토리툴바