This is a Java Program to Implement Repeated Squaring Algorithm. Repeated squaring algorithm is used to compute x

^{n}efficiently.Here is the source code of the Java Program to Implement Repeated Squaring Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

`/**`

`** Java Program to Implement Repeated Squaring Algorithm`

`**/`

import java.util.Scanner;

`/** Class RepeatedSquaring **/`

public class RepeatedSquaring

`{`

`/** Function for repeated squaring **/`

public double expBySquaring(double x, int n)

`{`

if (n < 0)

return expBySquaring(1 / x, -n);

else if (n == 0)

return 1;

else if (n == 1)

return x;

else if (n % 2 == 0)

return expBySquaring(x * x, n / 2);

`else`

return x * expBySquaring(x * x, (n - 1)/2);

`}`

`/** Main function **/`

public static void main (String[] args)

`{`

Scanner scan = new Scanner(System.in);

System.out.println("Repeated Squaring Algorithm Test\n");

`/** Make an object of RepeatedSquaring class **/`

RepeatedSquaring rs = new RepeatedSquaring();

`/** Accept n , k **/`

System.out.println("\nEnter n and k of (N ^ K)");

double n = scan.nextDouble();

int k = scan.nextInt();

double result = rs.expBySquaring(n, k);

System.out.println("\nResult : "+ result);

`}`

`}`

Repeated Squaring Algorithm Test Enter n and k of (N ^ K) 3 19 Result : 1.162261467E9 Repeated Squaring Algorithm Test Enter n and k of (N ^ K) 7 -4 Result : 4.1649312786339016E-4

**Sanfoundry Global Education & Learning Series – 1000 Java Programs.**

If you wish to look at all Java Programming examples, go to Java Programs.