From 652101cbfbcb90ca067316e8a4e7bf7e42d11856 Mon Sep 17 00:00:00 2001 From: sari-harin Date: Wed, 6 Sep 2023 18:32:12 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[=20=EC=A0=95=EC=88=98=EB=A1=A0=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1735.cpp" | 35 +++++++++++ .../2840.cpp" | 59 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 "03_\354\240\225\354\210\230\353\241\240/1735.cpp" create mode 100644 "03_\354\240\225\354\210\230\353\241\240/2840.cpp" diff --git "a/03_\354\240\225\354\210\230\353\241\240/1735.cpp" "b/03_\354\240\225\354\210\230\353\241\240/1735.cpp" new file mode 100644 index 0000000..c6a8ada --- /dev/null +++ "b/03_\354\240\225\354\210\230\353\241\240/1735.cpp" @@ -0,0 +1,35 @@ + +#include + +using namespace std; + +int getGcd(int a, int b) { + int tmp; + while (b != 0) { + tmp = a % b; + a = b; + b = tmp; + } + return a; +} + + +int main() +{ + int a1, a2, b1, b2, c1, c2; + + cin >> a1 >> a2; + cin >> b1 >> b2; + + c1 = a1*b2 + a2*b1; + c2 = a2*b2; + + int gcd_c = getGcd(c1,c2); + + c1/=gcd_c; + c2/=gcd_c; + + cout << c1 << ' ' << c2; + + return 0; +} \ No newline at end of file diff --git "a/03_\354\240\225\354\210\230\353\241\240/2840.cpp" "b/03_\354\240\225\354\210\230\353\241\240/2840.cpp" new file mode 100644 index 0000000..1924af6 --- /dev/null +++ "b/03_\354\240\225\354\210\230\353\241\240/2840.cpp" @@ -0,0 +1,59 @@ +#include +#include + +using namespace std; + +int main() +{ + ios_base::sync_with_stdio(false); + cin.tie(NULL); + cout.tie(NULL); + + int n, k, pt; + + cin >> n >> k; + + vector arr(n,'?'); + + for(int i=0;i> turns >> c; + + if(i==0){ + pt=i; + arr[i]=c; + continue; + } + + pt=(pt+turns)%n; + if(arr[pt]!='?' && arr[pt]!=c){ + cout << "!"; + return 0; + } + else{ + arr[pt]=c; + } + + } + + for(int i=0;i Date: Thu, 7 Sep 2023 22:07:53 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[=20=EC=A0=95=EC=88=98=EB=A1=A0=20]=209?= =?UTF-8?q?=EC=9B=94=207=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../6588.cpp" | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "03_\354\240\225\354\210\230\353\241\240/6588.cpp" diff --git "a/03_\354\240\225\354\210\230\353\241\240/6588.cpp" "b/03_\354\240\225\354\210\230\353\241\240/6588.cpp" new file mode 100644 index 0000000..ad3036d --- /dev/null +++ "b/03_\354\240\225\354\210\230\353\241\240/6588.cpp" @@ -0,0 +1,55 @@ +#include +#include +#include + +using namespace std; + +vector getPrimes(int n) { //소수 여부를 반환 + vector is_prime(n + 1, true); //소수 여부를 저장할 벡터 + is_prime[0] = is_prime[1] = false; //0과 1은 소수가 아니므로 false 저장 + for (int i = 2; i * i <= n; i++) { //n의 제곱근보다 낮은 범위에서 탐색 + if (!is_prime[i]) { //소수가 아닐 시 + continue; //처음으로 되돌아감 + } + for (int j = i * i; j <= n; j += i) { //배수는 제외 + is_prime[j] = false; //배수는 제외 + } + } + return is_prime; //결과 리턴(소수 여부가 저장된 벡터) +} + + +int goldbach(int n, vector &is_prime) { //n=a+b인 a 리턴 + for (int a = 3; a <= n / 2; a+= 2) { //3부터 홀수 중 탐색(2보다 큰 짝수 소수는 존재하지 않기 때문) + if (is_prime[a] && is_prime[n - a]) { //n=a+b에서 a와 b가 모두 소수라면 + return a; //n=a+b인 a 리턴 + } + } + return 0; //해당하는 a와 b가 없으면 0 리턴 +} + +int main() { //메인함수 + vector arr; //배열 선언 + int input; //입력값 받을 변수 + while(1) { //무한반복 + cin >> input; //입력 받기 + if (input == 0) { //사용자가 0을 입력하면 + break; //루프 끝 + } + arr.push_back(input); //벡터 끝에 입력값 넣기 + } + + int max_num = *max_element(arr.begin(), arr.end()); //배열의 처음부터 끝까지 가장 큰 수를 저장(값 참조) + vector is_prime = getPrimes(max_num); //소수 얻기 + + for (int i = 0; i < arr.size(); i++) { //배열 내에서 반복 + int a = goldbach(arr[i], is_prime); //n=a+b인 a 리턴 + + if (a != 0) { // n=a+b인 a, b가 존재하는 경우 + cout << arr[i] << " = " << a << " + " << arr[i] - a << "\n"; //결과 출력 + } else { //존재하지 않는 경우 + cout << "Goldbach's conjecture is wrong.\n"; //결과 출력 + } + } + return 0; //종료 +} \ No newline at end of file