Recursion Apirada Thadadech
What is Recursion Resursion is program which called itself. The classic example is the factorial function factorial(0) = 1 factorial(n) = n * factorial(n-1) [ for n > 0 ] Factorial of n is denoted by n! = 1x2x3...x n. Ex : 10! = 1x2x3x4x5x6x7x8x9x10
recursive definition for Factorial as follows: 1) If n=1, then Factorial of n = 1 2) Otherwise, Factorial of n = product of n and Factorial of (n-1)
RECURSION IterationRecursion 1. เขียน ง่าย 1. เขียนยากกว่า 2. เพื่อควบคุม มี คำสั่ง วนลูปชัดเจน 2. เพื่อควบคุมการ เรียกซ้ำ มีคำสั่งแยก Branch….If…Else 3. โดยทั่วไป ประสิทธิภาพการ ประมวลผลดีกว่า 3. โดยทั่วไป ประสิทธิภาพการ ประมวลผลด้อยกว่า
The Recursion code following: int Factorial(int n) { Int fac; if (n==0) /* จุดวกกลับตามเงื่อนไง */ fac = 1; /* stop call loop */ else fac = Factorial (n-1) * n; return(fac); }
Summation N int findsum (int n) { int sim; if (n ==0) sum = 0; else sum = findsum (n-1) + n; return (sum); } /* findsum */
Function recursive for power x n Int power (int x, int n) { int pow; if ( n==1 ) pow = x; else pow = x * power (x,n-1); return (pow); } /* power */