반응형 오블완15 [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. 4. 파이썬을 이용한 데이터 과학 소개(part 2) 3. Pandas Pandas는 Python에서 데이터를 분석하고 조작하기 위한 강력한 라이브러리로, 행과 열로 이루어진 구조화된 데이터를 처리하는 데 최적화되어 있습니다. 주요 데이터 구조로는 1차원 데이터를 다루는 Series와 2차원 테이블 형태의 데이터를 다루는 DataFrame이 있습니다. 이 데이터 구조는 데이터베이스의 테이블이나 스프레드시트와 유사해 직관적으로 사용할 수 있습니다. Pandas는 다양한 데이터 포맷을 지원하며, CSV, Excel, SQL, JSON 등 여러 소스의 데이터를 손쉽게 읽고 쓸 수 있습니다. 또한 데이터를 정렬하거나 필터링할 수 있는 인덱스 기능과 그룹화, 피벗 테이블 생성, 데이터 병합과 같은 고급 데이터 조작 기능을 제공합니다. 결측치 처리나 중복 제거 같은 .. 2024. 11. 20. [C/C++] 프로젝트 오일러 #97 Large Non-Mersenne Prime(수학) 메르센 소수(Mersenne Prime)는 아주 특별한 형태의 소수입니다. 소수란 1과 자기 자신 외에 다른 약수가 없는 숫자를 말하는데, 메르센 소수는 그 중에서도 다음과 같은 형태를 가진 숫자들입니다:\[ M_p = 2^p - 1 \]여기서 \(p\) 는 소수(Prime number)여야 합니다. 간단히 말해, 2의 거듭제곱에서 1을 뺀 숫자들 중에서 소수인 것을 메르센 소수라고 부릅니다. \(p = 2\)라면, 메르센 소수는 \( M_2 = 2^2 - 1 = 4 - 1 = 3 \) 가 되어, 3은 가장 작은 메르센 소수가 됩니다. \(p = 3\) 라면, 메르센 소수는 \( M_3 = 2^3 - 1 = 8 - 1 = 7 \) 가 됩니다.그러나 모든 \( 2^p - 1 \)이 소수가 되는 것은.. 2024. 11. 19. [C/C++] 프로젝트 오일러 #96 Su Doku(백트래킹) Project Euler의 96번 문제는 스도쿠 퍼즐을 해결하는 알고리즘 설계를 다루고 있습니다. 스도쿠는 9x9 격자로 이루어진 퍼즐 게임으로, 각 행, 열, 그리고 3x3의 작은 박스에 1부터 9까지의 숫자를 중복 없이 채워 넣는 것이 목표입니다. 이 문제는 단순히 하나의 스도쿠를 푸는 것이 아니라, 여러 개의 스도쿠 퍼즐을 입력받아 각각을 해결한 뒤, 각 퍼즐의 해답에서 첫 번째 세 숫자를 추출하여 합산하는 과제를 제시하고 있습니다.프로그래머의 관점에서 이 문제를 접하면, 가장 먼저 고려해야 할 점은 스도쿠 퍼즐을 효율적으로 해결할 수 있는 알고리즘입니다. 일반적으로 사람이 스도쿠를 풀 때는 규칙을 기반으로 논리적 접근을 활용합니다. 특정 위치에 들어갈 수 있는 숫자의 후보를 좁혀가는 과정을 반복하.. 2024. 11. 18. [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. 이전 1 2 3 다음 728x90