비디오: [반복반복] 영어회화 81 - 재귀대명사의 활용법 익히기 9편 2024
재귀 는 프로그래밍에 대해 자주 듣는 크고 무서운 단어입니다. 특히 대학에서 가르치는 프로그래밍의 좌절스러운 종류입니다. 설명하는 것이 쉬운 개념이지만 재귀가 작동하는 방식을 이해하는 데는 정말 중요한 요소입니다. 대부분의 사람들은 그것을 받아들이고 계속 나아 간다. 여기 없어!
재귀 는 기본적으로 자체를 호출하는 함수의 프로세스입니다. 예:
void funct (int x) {funct (x);}이 코드 덩어리에서는 재귀 함수의 끔찍한 예제를 보았지만 여기서는 설명의 목적을 제공한다. () 함수는 자신을 호출합니다. 그것은 재귀입니다. 이제이 예제에서 일어나는 일은 기본적으로 무한 루프이며, r , 스택 포인트라고하는 기술적 인 요소 덕분에 컴퓨터가 결국 중단됩니다. 그러나 그것은 단지 하나의 예일뿐입니다.
void recursion (int x) {if (x == 0) return; else {puts ("Boop!"); recursion (-x);}}
recursion () 함수는
x 값을 허용합니다. x 가 0과 같으면 기능이 중단됩니다. 그렇지 않으면 함수가 다시 호출되지만 x 의 값은 줄어 듭니다. 감소 프리픽스 연산자는 호출이 이루어지기 전에 x 값이 감소되도록 사용됩니다. -> 예제 recursion () 함수는 기본적으로
Boop!주어진 횟수. 따라서 recursion ()이 값 10으로 호출되면 해당 텍스트가 10 번 표시됩니다. 재귀에 대한 미친 부분은 함수가 나선형 인 것처럼 함수 자체가 계속해서 더 강력하고 견고하게 포장된다는 것입니다. 앞의 예제에서 조건 x == 1은 마침내 그 twisty 엉망을 풀어 주며 점점 기능이 완료 될 때까지 뒤로 당깁니다. 다음 코드는 recursion () 함수를 사용하는 전체 프로그램을 보여줍니다.
#include void recursion (int x); int main () {재귀 (10); return (0);} 재귀 호출 (int x) {if (x == 0) return; else {puts ("Boop!"); 재귀 (-x);}}
일반적인 재귀 재현은 계승 함수입니다.
팩토리얼
은 값에 양의 정수를 곱한 결과입니다. 예: 4! = 4 × 3 × 2 × 1 이 계승의 결과는 24입니다. 컴퓨터는 루프를 구현하거나 재귀 함수를 작성하여이 계산을 수행 할 수도 있습니다.여기에 그러한 함수가 있습니다:
int factorial (int x) {if (x == 1) return (x); else return (x * factorial (x-1));}
다른 재귀 함수와 마찬가지로 factorial () 함수는 종료 조건 x == 1을 포함합니다. 그렇지 않으면 함수는
x
의 현재 값보다 작은 값으로 다시 호출됩니다. 그러나 모든 조치는 반환 값으로 수행됩니다.