define recursion code example
Example 1: what is recursion
Recursion is a basic programming
technique you can use in Java,
in which a method calls itself to
solve some problem. A method that
uses this technique is recursive.
Many programming problems can be
solved only by recursion, and some
problems that can be solved by other
techniques are better solved by recursion.
EXP-1: Factorial
public static long factorial(int n){
if (n == 1)
return 1;
else
return n * factorial(n-1);
}
EXP-2: Fibonacci
static int n1=1, n2=2, n3=0;
public static void printFibo(int count){
if (count > 0) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
System.out.print(" " + n3);
printFibo(count-1);
}
}
Example 2: recursion
# modified code tranclated to python from (Drab Duck)
def fact(num):
if num <= 1:
return 1
else:
return num*fact(num-1)
Example 3: recursion
/*Java*/
static void recursion(){ recursion(0); }
static void recursion(int x){
System.out.println("eheh " + x);
if(x != 666) recursion(x+1);
}
Example 4: Recursion
/**
* Return all subsequences of word (as defined above) separated by commas,
* with partialSubsequence prepended to each one.
*/
private static String subsequencesAfter(String partialSubsequence, String word) {
if (word.isEmpty()) {
// base case
return partialSubsequence;
} else {
// recursive step
return subsequencesAfter(partialSubsequence, word.substring(1))
+ ","
+ subsequencesAfter(partialSubsequence + word.charAt(0), word.substring(1));
}
}
Example 5: recursion
def foo():
foo()
Example 6: recursion
function loop(x) {
if (x >= 10) // "x >= 10" is the exit condition (equivalent to "!(x < 10)")
return;
// do stuff
loop(x + 1); // the recursive call
}
loop(0);