[BOJ/백준/C++] 17103번 골드바흐 파티션

2024. 1. 28. 23:23·Coding Test/Baekjoon
728x90
반응형
 

17103번: 골드바흐 파티션

첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다.

www.acmicpc.net


📌 접근 방법

✔ 에라토스테네스의 체(Sieve of Eratosthenes)

  • 소수를 효율적으로 찾아내는 알고리즘
  • 큰 범위의 소수를 빠르게 구할 수 있음
  • 시간 복잡도 : O(n log log n)
  • 참고 링크

동작과정

  1. 2부터 시작하여 소수인 숫자를 찾음
  2. 현재 소수인 숫자를 제외한 그의 배수들을 모두 제거함
  3. 다음으로 넘어가서 아직 제거되지 않은 가장 작은 숫자를 찾고, 해당 숫자를 소수로 간주함
  4. 위의 과정을 반복하여 소수를 찾아냄

 

✅  Pass Code

#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
#include<vector>
#include<iterator>
#include<map>
#include<set>
using namespace std;
int arr[1000001]={0};

int main() {

    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int T;
    cin>>T;

    for(int i=2; i<1000000; i++){
        arr[i]=i;
    }
    for(int i=2; i<1000000; i++){
        if(arr[i]==0)continue;
        else{
            for(int j=i*2; j<=1000000; j+=i){
                arr[j]=0;
            }
        }
    }
    while(T>0){
        int x;
        cin>>x;
        int a, sum=0;
        for(int i=2; i<=x; i++){
            a=i;
            if(x==(arr[a]+arr[x-a])){
                sum++;
                if(arr[a]==arr[x-a]){
                    sum++;
                }
            }
        }
        cout<<sum/2<<'\n';
        T--;
    }


    return 0;
}
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > Baekjoon' 카테고리의 다른 글

[BOJ/백준/C++] 11729번 하노이 탑 이동 순서  (0) 2024.01.29
[BOJ/백준/C++] 2447번 별 찍기 - 10  (0) 2024.01.29
[BOJ/백준/C++] 4779번 칸토어 집합  (1) 2024.01.28
[BOJ/백준/C++] 24060번 알고리즘 수업 - 병합 정렬 1  (1) 2024.01.28
[BOJ/백준/C++] 5430번 AC  (1) 2024.01.28
'Coding Test/Baekjoon' 카테고리의 다른 글
  • [BOJ/백준/C++] 11729번 하노이 탑 이동 순서
  • [BOJ/백준/C++] 2447번 별 찍기 - 10
  • [BOJ/백준/C++] 4779번 칸토어 집합
  • [BOJ/백준/C++] 24060번 알고리즘 수업 - 병합 정렬 1
예롱메롱
예롱메롱
  • 예롱메롱
    예롱이의 개발 블로그
    예롱메롱
  • 전체
    오늘
    어제
    • 전체보기 (274)
      • 프로젝트 (35)
        • Wedle (12)
        • 인스타그램 클론 코딩 (13)
        • 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (10)
      • 인프런 Spring 강의 정리 (79)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (7)
        • Spring 핵심 원리 - 기본편 (9)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 (8)
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편 (11)
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리.. (6)
        • 실전! 스프링 부트와 JPA 활용2 - API 개.. (5)
        • 실전! 스프링 데이터 JPA (7)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (11)
        • 실전! Querydsl (8)
      • Cloud (3)
      • Spring (6)
        • spring boot (5)
        • 소셜로그인 (1)
      • Docker (2)
      • DevOps (0)
      • Coding Test (114)
        • Programmers (37)
        • Baekjoon (76)
      • KB It's Your Life 6기 (1)
      • CS (18)
        • 알고리즘 (13)
        • 컴퓨터 구조 (1)
        • Operating System (0)
        • Network (0)
        • Database (4)
      • git (1)
      • Language (15)
        • Java (5)
        • C++ (6)
        • Python (4)
    • GITHUB GITHUB
    • INSTAGRAM INSTAGRAM
  • hELLO· Designed By정상우.v4.10.3
예롱메롱
[BOJ/백준/C++] 17103번 골드바흐 파티션
상단으로

티스토리툴바