This is a Java Program to Implement Stein GCD Algorithm. The binary GCD algorithm, also known as Stein’s algorithm, is an algorithm that computes the greatest common divisor of two nonnegative integers. Stein’s algorithm uses simpler arithmetic operations than the conventional Euclidean algorithm. It replaces division with arithmetic shifts, comparisons and subtraction.
Here is the source code of the Java Program to Implement Stein GCD Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/** ** Java Program to Implement Stein GCD Algorithm **/ import java.util.Scanner; /** Class SteinGcd **/ public class SteinGcd { /** Function to calculate gcd **/ public int gcd(int u, int v) { int shift; if (u == 0) return v; if (v == 0) return u; for (shift = 0; ((u | v) & 1) == 0; ++shift) { u >>= 1; v >>= 1; } while ((u & 1) == 0) u >>= 1; do { while ((v & 1) == 0) v >>= 1; if (u > v) { int t = v; v = u; u = t; } v = v - u; } while (v != 0); return u << shift; } /** Main function **/ public static void main (String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Stein GCD Algorithm Test\n"); /** Make an object of SteingGcd class **/ SteinGcd sg = new SteinGcd(); /** Accept two integers **/ System.out.println("Enter two integer numbers\n"); int n1 = scan.nextInt(); int n2 = scan.nextInt(); /** Call function gcd of class SteinGcd **/ int gcd = sg.gcd(n1, n2); System.out.println("GCD of "+ n1 +" and "+ n2 +" = "+ gcd); } }
Output:
Stein GCD Algorithm Test Enter two integer numbers 32984 10013 GCD of 32984 and 10013 = 589
Related posts:
Spring Boot - Cloud Configuration Client
Introduction to Spring Cloud Netflix – Eureka
Java Program to Implement Strassen Algorithm
Count Occurrences of a Char in a String
MyBatis with Spring
The Thread.join() Method in Java
Extract network card address
Spring Boot - Hystrix
Remove the First Element from a List
Java Program to Solve the Fractional Knapsack Problem
String Operations with Java Streams
Assertions in JUnit 4 and JUnit 5
Java Program to Implement the RSA Algorithm
Spring Boot - Rest Controller Unit Test
New Features in Java 10
Spring MVC Custom Validation
Spring Boot - File Handling
Spring Boot - Securing Web Applications
Java Concurrency Interview Questions and Answers
Java Program to Find kth Largest Element in a Sequence
ETL with Spring Cloud Data Flow
Java Program to Implement CountMinSketch
Jackson Exceptions – Problems and Solutions
Batch Processing with Spring Cloud Data Flow
Java Program to Implement the Monoalphabetic Cypher
Basic Authentication with the RestTemplate
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Apache Commons Collections Bag
Hướng dẫn Java Design Pattern – Mediator
Deploy a Spring Boot WAR into a Tomcat Server
Spring Boot - CORS Support
Tránh lỗi ConcurrentModificationException trong Java như thế nào?