프로그램 > 예제: 재귀 함수
  
예제: 재귀 함수
PTC Mathcad 프로그래밍 기능을 사용하여 재귀 함수를 정의합니다.
예제 1: 계승 함수 정의
1. n의 계승을 계산하는 함수 Fac를 정의합니다. 함수 레이블을 사용하여 함수에 레이블을 지정합니다.
이 식을 복사하려면 클릭
2. Fac를 사용하여 6의 계승을 계산하고 PTC Mathcad 계승 연산자를 사용하여 값을 확인합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 아래와 같이 n에 대한 조건이 다른 두 번째 Fac 함수를 정의한 후 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 정의는 Fac의 이전 정의를 다시 찾아 계산을 수행하므로 PTC Mathcad에서 동일한 결과가 생성됩니다.
4. Fac의 첫 번째 정의를 비활성화하고 결과에 어떤 차이가 있는지 확인합니다. 이 모호성을 방지하려면 함수 이름을 다시 사용하지 않아야 합니다.
예제 2: 두 양의 정수에 대한 최대 공약수(GCD) 계산
1. 두 숫자의 최대 공약수, 즉 xy의 공약수 중 가장 큰 정수를 계산하는 재귀 함수 GCD를 작성합니다.
이 식을 복사하려면 클릭
2. 다양한 값을 사용하여 이 함수를 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 프로그램은 기본 제공 최대 공약수 함수 gcd와 동일합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
예제 3: 점 a에서 함수 f(x)의 n번째 반복 정의
1. a에서 함수 f(x)의 n번째 반복을 계산하는 재귀 함수 nest를 작성합니다.
이 식을 복사하려면 클릭
2. 함수 f(x)를 정의하고 a에 1을 할당합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 다양한 값을 사용하여 이 함수를 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
예제 4: 피보나치 수열 정의(실행당 두 번의 재귀 호출)
1. n의 피보나치 수열 값을 계산하는 함수 fib를 작성합니다.
이 식을 복사하려면 클릭
2. 벡터 k를 정의하고 fib 함수를 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
예제 5: 분할 함수 정의
1. n을 넘지 않는 양의 정수의 합으로 m을 표현하는 서로 다른 방법의 수를 계산하는 재귀 함수 part를 작성합니다.
이 식을 복사하려면 클릭
2. 다양한 값을 사용하여 이 함수를 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
예제 6: 난수 이진 트리 만들기
1. 난수 이진 트리를 만드는 재귀 함수 Tree를 작성합니다.
이 식을 복사하려면 클릭
2. 함수를 호출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
예제 7: 이진 트리의 높이 구하기
1. 이진 트리의 높이를 구하는 재귀 함수 height를 작성합니다.
이 식을 복사하려면 클릭
2. 이전 예제에서 만든 트리를 사용하여 함수를 호출합니다.
이 식을 복사하려면 클릭
* 
Tree가 난수 이진 트리를 만들기 때문에 다시 계산할 때마다 반환된 높이가 변경됩니다.
예제 8: 소수를 구하는 에라토스테네스의 체 설정
1. ceil 함수를 사용하여 에라토스테네스의 체를 사용해 n보다 작은 모든 소수를 계산하는 재귀 함수 p를 작성합니다.
이 식을 복사하려면 클릭
2. 함수를 호출하여 200보다 작은 모든 소수를 포함하는 벡터를 구합니다.
이 식을 복사하려면 클릭