/* File: Power.java - March 2011 */ package l06; /** * Compute a^n * using a recursive algorithm * * Sample usage: java l06.Power 3 21 * * @author Michael Albert * */ public class Power{ public static void main(String[] args) { long a = Long.parseLong(args[0]); long n = Long.parseLong(args[1]); System.out.println(a + "^" + n + " = " + power(a,n)); } public static long power(long a, long n) { if (n == 0) return 1; long p = power(a*a, n/2); if (n % 2 == 1) { p *= a; } return p; } }