본문 바로가기

mathematics21

[C/C++] 프로젝트 오일러 #102 Triangle Containment(수학) 프로젝트 오일러 문제 #102, “Triangle Containment”은 기하학과 좌표를 활용한 문제로, 수학적 사고와 프로그래밍 기술을 결합하여 해결해야 하는 문제입니다. 난이도는 15%로 평가되고 있으며, 특히 2D 좌표평면에서 삼각형과 점의 관계를 다루는 문제를 즐기는 이들에게 적합합니다.이 문제의 기본적인 목표는 주어진 수많은 삼각형들 중에서 원점(0, 0)이 포함된 삼각형의 개수를 찾는 것입니다. 각 삼각형은 세 점의 좌표로 표현되며, 파일에 저장된 데이터를 읽어와 이를 처리해야 합니다. 원점이 특정 삼각형 내부에 포함되어 있는지를 확인하기 위해서는 벡터와 내적, 교차곱 등의 기하학적 개념을 활용하거나, 삼각형의 넓이를 비교하는 방식 등 다양한 접근법을 사용할 수 있습니다.이 문제는 단순히 원.. 2024. 11. 23.
[C/C++] 프로젝트 오일러 #100 Arranged Probability(수학) 프로젝트 오일러 100번째 문제네요. Project Euler #100: Arranged Probability 문제는 확률과 이항 계수를 기반으로 한 수학적 사고를 요구하는 문제입니다. 이 문제의 주요 목표는 특수한 조건을 만족하는 정수 쌍을 찾는 것입니다. 문제를 이해하기 위해 배경과 개념을 먼저 살펴보겠습니다.문제는 다음과 같이 설정됩니다. 특정 “파란색”과 “총 디스크”의 개수가 주어졌을 때, 한 번 무작위로 디스크를 두 개 뽑는 경우, 둘 다 파란색일 확률이 정확히 1/2가 되는 조건을 만족하도록 하는 디스크의 배치를 찾는 것이 목적입니다.우선 기본적인 수식으로 표현해 봅시다.• 파란색 디스크의 개수를 b, 총 디스크의 개수를 n이라고 하겠습니다.• 두 개의 디스크를 뽑는 확률에서 둘 다 파란색일.. 2024. 11. 21.
[C/C++] 프로젝트 오일러 #99 Largest Exponential(수학) 문제는 여러 쌍의 숫자로 이루어진 데이터에서 각 쌍이 \(a^b\) 형태로 표현될 때, 가장 큰 값을 가지는 쌍의 위치를 찾는 것입니다. 여기서 a와 b는 양의 정수입니다.예를 들어, 다음과 같은 쌍이 있다고 가정합니다:1. \(2^{11}\)2. \(3^7\)3. \(6^3\)각각의 값을 계산하면:• \( 2^{11} = 2048 \)• \( 3^7 = 2187 \)• \( 6^3 = 216 \)이 중에서 가장 큰 값은 2187이므로, 두 번째 쌍 (3, 7)이 답이 됩니다. 이 경우 결과는 2번째 줄을 나타냅니다.문제가 간단하게 보여도 제곱해야 하는 수가 크면, 실제 값의 크기는 컴퓨터로 계산하기 힘듭니다. \( 632382^{518061} \gt 519432^{525806} \) 의 경우와 같이 밑.. 2024. 11. 21.
[C/C++] 프로젝트 오일러 #95 Amicable Chains(수학) 프로젝트 오일러 #95: Amicable Chains (우애 체인)이 문제는 숫자들 사이의 관계를 탐구하는 것으로, 특정 수의 약수의 합을 계산하여 순환하는 우애 체인(amicable chain)을 찾는 것입니다. 다음과 같은 과정을 따릅니다:1. 정의• 어떤 수 \(n\)의 약수의 합을 \(s(n)\)이라고 정의합니다. 여기서 \(s(n)\)은 \(n\) 자신을 제외한 모든 양의 약수의 합입니다.예를 들자면 \( s(12) = 1 + 2 + 3 + 4 + 6 = 16 \)으로   \( s(12) \) 값이 16이 됩니다.• 두 수 \(a\)와 \(b\)가 우애수(amicable numbers)라면 \( s(a) = b \)이고 \(  s(b) = a  \)이며  \( a \neq b \)입니다.예를 들.. 2024. 11. 17.
[C/C++] 프로젝트 오일러 #94 Almost Equilateral Triangles(수학) Project Euler #94: Almost Equilateral Triangles 문제는 “거의 정삼각형” 성질을 가진 삼각형 중에서 주어진 조건을 만족하는 삼각형의 합을 구하는 문제입니다. 정삼각형은 세 변의 길이가 모두 같은 삼각형입니다. 그러나 이 문제에서는 거의 정삼각형(Almost Equilateral Triangles)을 다룹니다. 거의 정삼각형은 다음 조건을 만족하는 삼각형입니다:1. 두 변의 길이가 같고, 나머지 한 변의 길이가 이와 1 차이가 난다.  예:  \(a, a, a+1\)  또는  \(a, a, a-1\)  형태2. 삼각형의 세 변이 정수이고, 넓이도 정수여야 한다.삼각형의 넓이 계산 (헤론의 공식)삼각형의 넓이를 구할 때는 헤론의 공식을 사용합니다.세 변이 \(a, b, .. 2024. 11. 16.
[C/C++] 백준 #3036 링(수학) 이번 문제는 최대공약수 개념만 이해하면 어렵지 않게 풀 수 있습니다.  반지름의 길이 비율의 역수배로 다음 링은 회전을 하게 됩니다.예를 들어서 첫번째 링의 반지름이 3이고, 두번째 링의 반지름이 6이라면, 두번째 링은 첫번째 링보다 반지름이 2배이므로, 회전수는 1/2가 됩니다.  이것을 이해한다면, 어렵지 않게 문제를 풀 수 있습니다.  이 C/C++ 프로그램은 Baekjoon 문제 #3036 “Ring”에 대한 솔루션입니다. 이 문제는 여러 개의 톱니바퀴가 있을 때 첫 번째 톱니바퀴의 회전수를 기준으로 다른 톱니바퀴의 회전수를 간단한 분수로 나타내는 문제입니다. 코드를 단계별로 설명하겠습니다. //------------------------------------------------// bae.. 2024. 10. 28.