import java.util.Scanner; public class Recursion { public static void main(String args[]) { System.out.println("Please input a positive integer n for f(n):"); Scanner sc = new Scanner(System.in); int base = sc.nextInt(); int n = sc.nextInt(); System.out.println("f(" + n + ")=" + power(base, n)); } /* the method f(n) is a recursive method, which calls itself during its execution*/ public static double power(int base, int n) { if(n == 0) return 1; else if(n == 1) return base; else { if(n%2 == 0) return power(base, n/2)* power(base, n/2); else return power(base, n/2)* power(base, n/2)*base; } } /* the method f(n) is a recursive method, which calls itself during its execution*/ public static double power2(int base, int n) { if(n == 0) return 1; else if(n == 1) return base; else { double pw=power(base, n/2); if(n%2 == 0) return pw*pw; else return pw*pw*base; } } }