This is a Java Program to Implement Repeated Squaring Algorithm. Repeated squaring algorithm is used to compute xn 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);
}
}
Output:
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
Related posts:
Java Program to Implement Sieve Of Atkin
Toán tử instanceof trong java
Hướng dẫn sử dụng String Format trong Java
Jackson – Change Name of Field
Java Program to Check if it is a Sparse Matrix
Query Entities by Dates and Times with Spring Data JPA
Automatic Property Expansion with Spring Boot
Finding Max/Min of a List or Collection
Guide to Character Encoding
Database Migrations with Flyway
Java Program to Implement Dijkstra’s Algorithm using Set
Java Program to implement Bi Directional Map
Java Program to Implement Bucket Sort
Easy Ways to Write a Java InputStream to an OutputStream
Collect a Java Stream to an Immutable Collection
Number Formatting in Java
Java Program to Implement AVL Tree
Java – Combine Multiple Collections
Java Program to Implement Uniform-Cost Search
Collect a Java Stream to an Immutable Collection
Working With Maps Using Streams
Converting Java Date to OffsetDateTime
Returning Image/Media Data with Spring MVC
Java Program to Implement HashSet API
Spring Boot Integration Testing with Embedded MongoDB
Java Program to Implement Shoelace Algorithm
Join and Split Arrays and Collections in Java
The “final” Keyword in Java
Spring Boot - Actuator
Static Content in Spring WebFlux
Jackson – Decide What Fields Get Serialized/Deserialized
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC