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:
Java Program to Perform Stooge Sort
Java Program to Create a Balanced Binary Tree of the Incoming Data
Create a Custom Auto-Configuration with Spring Boot
Converting String to Stream of chars
Weak References in Java
Java Program to Implement Double Ended Queue
Java InputStream to String
Java program to Implement Tree Set
Java Program to Implement Hash Trie
Java Program to Implement Borwein Algorithm
Java Program to Find the Minimum value of Binary Search Tree
Lấy ngày giờ hiện tại trong Java
Java Program to Implement Euler Circuit Problem
Apache Commons Collections MapUtils
Java – Write a Reader to File
Guide to the Java ArrayList
How to Read HTTP Headers in Spring REST Controllers
Handling Errors in Spring WebFlux
Java Program to Implement TreeSet API
Initialize a HashMap in Java
Hướng dẫn Java Design Pattern – Proxy
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
“Stream has already been operated upon or closed” Exception in Java
Java Program to Implement JobStateReasons API
The Registration API becomes RESTful
Java 8 StringJoiner
Java Program to Optimize Wire Length in Electrical Circuit
Multipart Upload with HttpClient 4
Automatic Property Expansion with Spring Boot
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Lập trình đa luồng trong Java (Java Multi-threading)
Netflix Archaius with Various Database Configurations