Mathematics
Project Euler
수학과 프로그래밍이 만나는 지점. 각 문제는 단순히 답을 구하는 것이 아니라, 아름다운 해법을 찾아가는 여정입니다.
Problems
프로젝트 오일러 013
프로젝트 오일러 13번, 50자리 숫자 100개의 합에서 처음 10자리를 구하는 문제입니다. 파이썬의 큰 정수 연산 기능을 활용한 간단한 풀이와 함께, 큰 수의 덧셈을 직접 구현하는 방법을 자세히 설명합니다. 다항식의 덧셈 원리를 이용한 구현 과정을 보여줍니다.
프로젝트 오일러 014
프로젝트 오일러 14번, 백만 이하의 시작 숫자 중 가장 긴 우박수(Collatz sequence)를 생성하는 수를 찾는 문제입니다. 우박수 계산 과정을 설명하고, 메모이제이션을 활용하여 성능을 최적화하는 파이썬 풀이를 제시합니다.
프로젝트 오일러 015
프로젝트 오일러 15번, 20x20 격자의 좌상단에서 우하단으로 가는 경로의 수를 구합니다. 이는 40번의 이동 중 20번의 아래쪽 이동을 선택하는 조합 문제와 같으며, 40! / (20! * 20!) 공식을 이용한 풀이를 제시합니다.
프로젝트 오일러 030
프로젝트 오일러 30번, 각 자리 숫자를 5제곱한 합이 자기 자신과 같은 수들의 합을 구합니다. 탐색 상한선을 계산하여 범위를 한정한 후, 파이썬 반복문으로 문제를 해결하는 과정을 보여줍니다.
프로젝트 오일러 032
28×157=4396과 같이 1~9의 숫자가 모두 한 번씩만 나오는 곱셈식을 팬디지털 곱셈식이라고 합니다. 1-9팬디지털 곱셈식을 모두 찾아봅시다.
프로젝트 오일러 037
프로젝트 오일러 37번, 양쪽에서 숫자를 제거해도 계속 소수인 '양면 소수' 11개의 합을 구합니다. 양면 소수의 숫자 구성 규칙을 알아보고, 소수 판별과 메모이제이션을 활용한 파이썬 풀이를 제시합니다.
프로젝트 오일러 039
삼각형의 세변의 길이의 합이 1000 이하일 때, 세 변의 길이가 자연수인 직각삼각형을 가장 많이 많을 수 있는 둘레 구하기. 피타고라스 트리플을 이용하거나 아니거나.
프로젝트 오일러 042
프로젝트 오일러 42번, 단어 파일에서 '삼각 단어'의 개수를 찾는 문제입니다. 단어 값을 계산하고, 그 값이 삼각수인지 판별하는 방법을 설명합니다. 단어 파일을 읽어 단어 값을 계산하고 삼각수 여부를 확인하는 파이썬 풀이를 제시합니다.