/* OUTPUT A % java Recursive? * ** *** */ /* OUTPUT B % java Recursive? *** ** * */ /* OUTPUT C % java Recursive? *** ** * * ** *** */ /* OUTPUT D % java Recursive? 16 */ /* OUTPUT E % java Recursive? -1 -1 -2 -1 -1 -2 -4 */ /* OUTPUT F % java Recursive? Exception in thread "main" java.lang.StackOverflowError */ /* OUTPUT G % java Recursive? 0 0 0 0 0 0 0 */ /* OUTPUT H % java Recursive? 0 */ public class Recursive1 { public static int mystery(int N) { int result = 0; if (N == 0) result = -1; else { result += mystery(N - 1); result += mystery(N - 1); } System.out.println(result); return result; } public static void main(String [] args) { mystery(2); } } public class Recursive2 { public static void stars(int N) { for (int i = 0; i < N; i++) System.out.print("*"); System.out.println(); } public static void mystery(int N) { if (N == 0) return; mystery(N - 1); stars(N); } public static void main(String [] args) { mystery(3); } } public class Recursive3 { public static void stars(int N) { for (int i = 0; i < N; i++) System.out.print("*"); System.out.println(); } public static void mystery(int N) { if (N == 0) return; stars(N); mystery(N - 1); } public static void main(String [] args) { mystery(3); } } public class Recursive4 { public static void stars(int N) { for (int i = 0; i < N; i++) System.out.print("*"); System.out.println(); } public static void mystery(int N) { if (N == 0) return; mystery(N - 1); mystery(N - 2); stars(N - 1); } public static void main(String [] args) { mystery(3); } } public class Recursive5 { public static int mystery(int N) { int result = 0; if (N == 0) return 1; mystery(N - 1); mystery(N - 1); System.out.println(result); return result; } public static void main(String [] args) { mystery(3); } } public class Recursive6 { public static int mystery(int N) { int result = 0; if (N == 0) return result++; result += mystery(N - 1); result += mystery(N - 1); return result++; } public static void main(String [] args) { System.out.println(mystery(4)); } } public class Recursive7 { public static int val = 0; public static void mystery(int N) { if (N == 0) { val++; return; } mystery(N - 1); mystery(N - 1); } public static void main(String [] args) { mystery(4); System.out.println(val); } } public class Recursive8 { public static void stars(int N) { for (int i = 0; i < N; i++) System.out.print("*"); System.out.println(); } public static void mystery(int N) { if (N == 0) return; stars(N); mystery(N - 1); stars(N); } public static void main(String [] args) { mystery(3); } }