카페에 왔는데 영어공부하기 시끄러워서 백준 한문제를 풀었다.
문제 링크 : https://www.acmicpc.net/problem/6588
문제가 크게 어렵지는 않았다.
3부터 입력된 숫자까지 돌아가며 찾으면 된다.
b-a가 가장 큰 값을 찾으라고했는데 그냥 루프 돌다가 찾은게 가장작은 것이기 때문에 찾으면 브레이크하면 끝이다.
지적은 언제나 환영입니다.
#include<iostream>
#include<cmath>
using namespace std;
bool prime_num_discriminator(int input) {
for (int i = 2; i <= sqrt(input); i++) {
if (input%i == 0)return false;
}
return true;
}
int main(void) {
cin.tie(NULL);
cout.tie(NULL);
ios_base :: sync_with_stdio(false);
int input = 1;
int a, b;
bool suc = false;
while (input) {
cin >> input;
for (int i = 1; i < input / 2; i++) {
a = 2 * i + 1; //홀수
b = input - a;
if (prime_num_discriminator(a) and prime_num_discriminator(b)) {
cout << input << " = " << a << " + " << b << "\n";
suc = true;
break;
}
}
if (!suc) cout << "Goldbach's conjecture is wrong\n";
}
}
'Development > BOJ' 카테고리의 다른 글
[BOJ] 백준 19236번 : 청소년 상어 C++ : 아주정은 (0) | 2020.10.16 |
---|---|
[BOJ] 백준 1181번 : 단어 정렬 C++ : 아주정은 (0) | 2020.05.07 |
[BOJ] 백준 1182번 : 부분수열의 합 C++ : 아주정은 (0) | 2020.04.16 |
[BOJ] 백준 2504번 : 괄호의 값 C++ : 아주정은 (0) | 2020.02.26 |
[BOJ]백준 6593번 : 상범빌딩 C++ : 아주정은 (0) | 2020.02.26 |