안녕하세요. 지난 포스팅의 미적분학 - 매개변수 곡면에서는 3차원 공간에서 곡면을 매개변수로 표현하는 방법과 곡면과 관련된 다양한 개념들(회전체, 접평면, 곡면의 넓이)을 정리해보았습니다. 오늘은 이어서 면적분 (Surface Integral)에 대해서 알아보도록 하겠습니다. 지금까지 저희는 3차원 곡선 상에서의 적분인 선적분 (Line Integral)을 중점적으로 보았지만 이를 보다 확장하여 3차원 곡면 상에서도 적분을 수행할 수 있습니다. 1. 배경 (Background) 면적분을 이해하기 위해서는 기본적으로 선적분에 대한 개념과 유도과정을 반드시 숙지하고 계셔야하기 때문에 혹시 생각나지 않으시는 분들은 미적분학 - 선적분에서 한번 간단하게 훑어보시고 오시는 것을 추천드립니다. 기본적으로 적분을 하..
안녕하세요. 지난 포스팅의 미적분학 - 회전과 발산에서는 벡터함수의 회전과 발산의 정의와 관련된 다양한 정리들에 대해서 알아보았습니다. 오늘은 매개변수 곡면에 대해서 알아보도록 하죠. 1. 매개변수 곡면 (Parametric Surface) 지금까지 저희는 주로 매개변수 곡선 $C$ 상에서 선적분하는 방법에 대해서 중점적으로 다루었습니다. 여기서 한 가지 궁금증은 매개변수 "곡선"이 있다면 매개변수 "곡면"도 정의할 수 있겠죠? 방법은 간단합니다. 매개변수 곡선은 1개의 매개변수 $t$에 의해 결정되는 벡터함수 $\mathbf{r}(t) = x(t) \mathbf{i} + y(t) \mathbf{j}$로 표현될 수 있었습니다. 곡면은 3차원으로 표현되기 때문에 3개의 성분함수 $$가 필요하겠네요. 보다 ..
안녕하세요. 지난 포스팅의 미적분학 - 그린 정리에서는 이변수 함수에서의 미적분학 기본정리(Fundamental Theorem of Calculus; FTC)인 그린 정리(Green's Theorem)에 대해서 알아보았습니다. 그린 정리의 핵심은 어려운 선적분을 곡선이 정의된 영역에서의 단순한 이중적분으로 변환하여 계산하는 것이였습니다. 오늘은 벡터장에서 중요한 개념인 회전(curl)과 발산(divergence)에 대해서 알아보도록 하겠습니다. 정의1. 회전(curl) 3차원 실수공간 $\mathbb{R}^{3}$에서 정의된 벡터함수 $\mathbf{F} = P \mathbf{i} + Q \mathbf{j} + R \mathbf{k}$와 $P, Q$ 그리고 $R$의 편도함수가 모두 존재할 때 벡터함수 $..
안녕하세요. 지난 포스팅의 BOJ 10870번 : 피보나치 수 5에서는 재귀함수를 이용해 피보나치 수열을 구하는 문제를 풀어보았습니다. 오늘은 재귀함수와 관련된 재미있는 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 재귀함수의 정의 전역변수 선언 : global 제출 코드 1 global N def recursive(n) : print('_' * (4 * (N - n)) + '"재귀함수가 뭔가요?"') if n == 0 : print('_' * (4 * (N - n)) + '"재귀함수는 자기 자신을 호출하는 함수라네"') else : print('_' * (4 * (N - n)) + '"잘 들어보게. 옛날옛날..
안녕하세요. 지난 포스팅의 미적분학 - 선적분과 미적분학 기본정리에서는 선적분과 관련된 다양한 정리들에 대해서 알아보았습니다. 이 정리들은 오늘 알아볼 그린 정리(Green's Theorem)의 기본이 되기 때문에 숙지하셔야하는 정리들입니다. 오늘은 그린 정리를 알아보고 간단한 케이스에서의 그린 정리를 증명해보도록 하겠습니다. 정리1. 그린 정리(Green's Theorem) 양의 방향을 가지는 곡선 $C$가 조각별로 부드럽고 단순하게 닫혀있는 곡선이라고 하고 $D$를 곡선 $C$에 의해 제한되는 영역이라고 할 때 영역 $D$를 포함하는 열린 영역에서 $P$와 $Q$가 연속 편도함수를 가진다고 가정하면 아래의 식이 성립한다. $$\int_{C} P dx + Q dy = \iint_{D} \left(\fr..
안녕하세요. 지난 포스팅의 BOJ 10872번 : 팩토리얼에서는 컴퓨터공학에서의 재귀함수를 수학적인 점화식으로 표현하는 방법에 대해서 알아보았습니다. 따라서, 재귀함수와 관련된 문제는 점화식을 잘 세우는 것이 중요하다는 것을 알게 되었죠. 오늘도 재귀함수와 관련된 유명한 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 재귀함수의 정의 피보나치 수열의 정의 제출 코드 def fibonacci(n) : if n == 0 : return 0 elif n == 1 or n == 2 : return 1 else : return fibonacci(n - 1) + fibonacci(n - 2) print(fibonacci(..
안녕하세요. 지난 포스팅의 BOJ 9020번 : 골드바흐의 추측에서는 기본 수학 2 카테고리의 마지막 문제로 소수와 관련된 문제를 풀어보았습니다. 핵심은 반복적인 소수 검정 이였습니다. 오늘부터는 수학적인 지식보다는 컴퓨터공학적 지식이 더욱 필요한 재귀함수와 관련된 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 재귀 함수의 정의 팩토리얼의 정의 제출 코드 def factorial(N) : if N == 1 or N == 0 : return 1 else : return N * factorial(N - 1) print(factorial(int(input()))) 해설 기본적으로 재귀함수(recursive func..
안녕하세요. 지난 포스팅의 BOJ 4948번 : 베트트랑 공준에서는 에라토스테네스의 체의 개념을 설명하고 실제로 구현해보았습니다. 오늘은 소수 관련 마지막 문제로 골드바흐의 추측에 대한 문제를 풀어보도록 하겠습니다. 지금까지 활용했던 소수 판별법을 적용하면 되기 때문에 크게 어렵지는 않습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 기본 구현능력 소수 판별 알고리즘 제출 코드 import math def is_prime(number) : for n in range(2, int(math.sqrt(number)) + 1) : if number % n == 0 or number == 1 : return False return True f..