From 4874e4613ad0d8b0ca239511cd755577ad9f9ec6 Mon Sep 17 00:00:00 2001 From: Trivenk Agarwal <60007440+Trivenk@users.noreply.github.com> Date: Sun, 24 Oct 2021 19:08:13 +0530 Subject: [PATCH] GCD Calculator --- java-program/GCDCalculator.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 java-program/GCDCalculator.java diff --git a/java-program/GCDCalculator.java b/java-program/GCDCalculator.java new file mode 100644 index 0000000..facfa9f --- /dev/null +++ b/java-program/GCDCalculator.java @@ -0,0 +1,24 @@ +package algorithms.recursion; + +import java.util.Scanner; + +public class GCDCalculator { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Please input two integers: "); + int firstNumber = scanner.nextInt(); + int secondNumber = scanner.nextInt(); + scanner.close(); + var maximum = Math.max(firstNumber, secondNumber); + var minimum = Integer.sum(firstNumber, secondNumber) - maximum; + System.out.println("GCD(" + maximum + ", " + minimum + ") = " + calculateGCD(maximum, minimum)); + } + + private static int calculateGCD(int firstNumber, int secondNumber) { + int remainder = firstNumber % secondNumber; + if (remainder == 0) { + return secondNumber; + } + return calculateGCD(secondNumber, remainder); + } +}