본문 바로가기

반응형

문과 코린이의, [C. C++] 기록/C++ 백준 문제풀이

(117)
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 골드바흐의 추측 (6588) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 골드바흐의 추측 (6588) 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net [ 문제 ] 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 +..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 소수 구하기 (1929) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 소수 구하기 (1929) 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net [ 문제 ] M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. [ 출력 ] 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. [ 코드 ] #include using namespace std; // N이 소수가 되려면, 2보다 크거..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 소수 찾기 (1978) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 소수 찾기 (1978) 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net [ 문제 ] 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. [ 입력 ] 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. [ 출력 ] 주어진 수들 중 소수의 개수를 출력한다. [ 코드 ] #include using namespace std; // 소수의 특징 : N이 소수가 되려면, 2보다 크거나 같고 N-1보다 작거나 같은 자연수로 나누어 떨어..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 최소공배수 (1934) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 최소공배수 (1934) 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net [ 문제 ] 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 최대공약수와 최소공배수 (2609) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 최대공약수와 최소공배수 (2609) 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net [ 문제 ] 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. [ 출력 ] 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. [ 코드 ] #include using namespace std; int gcd(int a..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 나머지 (10430) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 나머지 (10430) 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net [ 문제 ] (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) [ 출력 ] 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다. [ 코드 ] ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 오큰수 (17298) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 오큰수 (17298) 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net [ 문제 ] 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4)..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 쇠막대기 (10799) [문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 쇠막대기 (10799) 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net [ 문제 ] 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다. 각 쇠막대기를 자..

반응형