BAEKJOON/수학 (107) 썸네일형 리스트형 백준 10989번 [수 정렬하기 3](C++)-yes6686- 티스토리 백준 문제 풀이: 10989 [수 정렬하기 3]문제 링크: https://www.acmicpc.net/problem/10989문제 설명:자연수 N개가 주어졌을 때, 이를 오름차순으로 정렬하는 문제입니다. 주어진 수는 10,000 이하의 자연수이며, 메모리 제한이 있기 때문에 카운팅 정렬을 사용하여 해결해야 합니다.문제 해결 코드#include #include using namespace std;int arr[10001]; // 카운팅 정렬용 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; int x; // 입력 숫자를 카운트 배열에 기록 for (int i = 0; i 코드 설명핵.. 백준 11525번 [Farey Sequence Length](C++)-yes6686- 티스토리 백준 문제 풀이: 11525 [Farey Sequence Length]문제 링크: https://www.acmicpc.net/problem/11525문제 설명:Farey 수열의 길이를 계산하는 문제입니다. Farey 수열은 분모가 n 이하인 기약 분수의 집합으로 구성됩니다. Farey 수열의 길이를 계산하려면 오일러 파이 함수(Φ)를 이용하여 서로소의 개수를 계산해야 합니다.Farey(n)의 길이는 Φ(1) + Φ(2) + ... + Φ(n) + 1입니다.오일러 파이 함수(Φ)는 임의의 정수 m에 대해, m 이하의 정수 중 m과 서로소인 정수의 개수를 반환합니다.예를 들어, Φ(6)은 2, 3, 4, 5 중 6과 서로소인 정수의 개수를 반환하며, 결과는 2입니다 (1과 5만 해당). Φ(n)을 빠르게 계.. 백준 13076번 [Distinct rational numbers](C++)-yes6686- 티스토리 백준 문제 풀이: 13076 [Distinct rational numbers]문제 링크: https://www.acmicpc.net/problem/13076문제 설명:주어진 정수 배열에 대해 다음과 같은 연산을 효율적으로 수행하는 문제입니다:1 x y: 배열의 x번째 값을 y로 변경2 x y: 배열의 x번째 값부터 y번째 값까지의 곱을 구한 후, 해당 값을 1,000,000,007로 나눈 나머지를 출력여기서 효율적인 계산을 위해 세그먼트 트리를 사용합니다. 세그먼트 트리는 구간 곱을 빠르게 계산할 수 있으며, 값을 업데이트하는 데도 유용합니다.또한, 모듈러 연산을 통해 큰 정수 값이 발생하는 것을 방지합니다. 이를 통해 오버플로우를 방지하고 계산을 최적화합니다.문제 해결 코드#include #includ.. 백준 19577번 [수학은 재밌어](C++)-yes6686- 티스토리 백준 문제 풀이: 19577 [수학은 재밌어]문제 링크: https://www.acmicpc.net/problem/19577문제 설명:양의 정수 n이 주어질 때, n의 약수 중 오일러 파이 함수 결과와의 곱이 다시 n이 되는 가장 작은 양의 정수를 출력하는 문제입니다. 만약 조건을 만족하는 값이 없다면 -1을 출력합니다.문제 해결 코드#include #include using namespace std;sets;setx;int euler(int n) { int ans = n; for (int i = 2; i * i 1) { ans /= n; s.insert(n); } set::iterator iter; for (iter = s.begin(); iter .. 백준 4355번 [서로소](C++)-yes6686- 티스토리 백준 문제 풀이: 4355 [서로소]문제 링크: https://www.acmicpc.net/problem/4355문제 설명:양의 정수 n이 주어졌을 때, n과 서로소인 n 이하의 양의 정수의 개수를 구하는 문제입니다. 서로소는 두 수의 최대공약수가 1인 관계를 의미합니다. n이 0이면 프로그램을 종료하며, n이 1일 때는 결과가 0입니다.문제 해결 코드#include #include using namespace std;sets;int main() { ios::sync_with_stdio(false); cin.tie(NULL); while (1) { int n; cin >> n; if (n == 0) break; if (n == 1) { .. 백준 11689번 [GCD(n, k) = 1](C++)-yes6686- 티스토리 백준 문제 풀이: 11689 [GCD(n, k) = 1]문제 링크: https://www.acmicpc.net/problem/11689문제 설명:양의 정수 n이 주어졌을 때, 1부터 n까지의 정수 중 n과 서로소인 정수의 개수를 구하는 문제입니다. 서로소는 두 수의 최대공약수(GCD)가 1인 관계를 의미합니다. 이를 구하기 위해 오일러 파이 함수(φ)를 활용합니다.문제 해결 코드#include #include using namespace std;sets;int main() { ios::sync_with_stdio(false); cin.tie(NULL); long long int n; cin >> n; long long int ans = n; for (long long in.. 백준 10814번 [나이순 정렬](C++)-yes6686- 티스토리 백준 문제 풀이: 10814 [나이순 정렬]문제 링크: https://www.acmicpc.net/problem/10814문제 설명:회원들의 나이와 이름이 주어질 때, 나이가 증가하는 순서대로 정렬하는 문제입니다. 나이가 같을 경우, 입력된 순서를 유지해야 합니다. 이를 위해 **안정 정렬(stable sort)**을 사용해야 합니다.문제 해결 코드#include #include #include using namespace std;vector>v;bool compare(pair a, pair b) { return a.first > n; int a; string b; for (int i = 0; i > a >> b; v.push_back(make_pair(a, b)); .. 백준 4153번 [직각삼각형](C++)-yes6686- 티스토리 백준 문제 풀이: 4153 [직각삼각형]문제 링크: https://www.acmicpc.net/problem/4153문제 설명:세 변의 길이가 주어졌을 때, 해당 변들이 직각삼각형을 이룰 수 있는지 판단하는 문제입니다. 직각삼각형은 피타고라스의 정리를 만족해야 합니다: a² + b² = c² (여기서 c는 가장 긴 변).입력으로 세 변의 길이가 0이 들어오면 프로그램을 종료합니다. 직각삼각형이면 right를, 그렇지 않으면 wrong을 출력합니다.문제 해결 코드#include using namespace std;int main() { int a, b, c; while (1) { cin >> a >> b >> c; if (a == 0 || b == 0 || c == 0).. 이전 1 ··· 7 8 9 10 11 12 13 14 다음