-
백준 17103번 : 골드바흐 파티션 (C 언어)c c++ 언어 공부 2023. 4. 6. 21:08
https://www.acmicpc.net/problem/17103
17103번: 골드바흐 파티션
첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다.
www.acmicpc.net
Code:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <stdio.h>int main(){int t;scanf("%d", &t);int arr[1000001] = { 0, };for (int j = 2; j <= 1000000; j ++){arr[j] = j;}for (int i = 2; i <= 1000000; i++){if (arr[i] == 0){continue;}for (int j = 2 * i; j <= 1000000; j += i){if (arr[j] == 0){continue;}else{arr[j] = 0;}}}int n;while (t--){scanf("%d", &n);int cnt = 0;for (int i = 2; i <= n; i++){if (arr[i] + arr[n - i] == n){cnt++;if (n - i == i){cnt++;}}}printf("%d\n", cnt/2);}}cs 문제풀이:
에라토스테네스의 체를 이용해서 소수를 판별하였다.
뒷부분에서는 ex) 10을 만들 때 3,7도 들어가고 7,3이런식으로 들어가기 때문에 /2를 해주었다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 2720번 : 세탁소 사장 동혁 (C 언어) (0) 2023.04.15 백준 24416번 : 알고리즘 수업 - 피보나치 수 1 (C 언어) (0) 2023.04.07 백준 : 3273번 : 두 수의 합 (C 언어) (0) 2023.04.04 백준 19532번 : 수학은 비대면강의입니다 (C 언어) (0) 2023.04.03 백준 7785번 : 회사에 있는 사람 (C 언어) (0) 2023.04.03