Draw a flow chart for the program below and write the recursive version of the p
ID: 3653681 • Letter: D
Question
Draw a flow chart for the program below and write the recursive version of the program. import java.util.Scanner; public class DivisorCalculator { public static void main (String args[]) { int number1,number2; String another="y"; Scanner scan= new Scanner (System.in); while(another.equalsIgnoreCase("y")) { System.out.print("Enter first number:"); number1=scan.nextInt(); System.out.print("Enter second number:"); number2=scan.nextInt(); scan.nextLine(); if(number1%number2==number1) { int div=number2%number1; if(div==0) div=number1; else if(div>0) { while(number2%div>0||number1%div>0) { div--; } } System.out.println("GCD of"+number1+"and"+number2+"is"+div); }else if(number2%number1==number2) { int div=number1%number2; if(div==0) div=number2; else if (div>0) { while(number1%div>0||number2%div>0) { div--; } } System.out.println("GCD of"+number1+"and"+number2+"is"+div); } System.out.print("Compute another GCD(Y/N)?"); another=scan.nextLine(); } } }Explanation / Answer
Recursive function for GCD FLOW CHART (1) recursive method takes two arguments public int recursiveGCD (int firstNumber, int secondNumber) (2) first we check if (firstNumber >= secondNumber), if it's not true, then we call the method agian by reversing the arguments, i.e, recursiveGCD(secondNumber, firstNumber) (3) now we check if (firstnumber%secondNumber == 0) if it's true then we return secondNumber if it's false then we agian call the eursive method recursiveGCD(secondNumber,firstNumber%secondNumber) Now code import java.util.Scanner; public class RecursiveGCD { public static void main(String[] args) { int firstNumber; int secondnumber; String loopCondition = "y"; Scanner input = new Scanner(System.in); while(loopCondition.equalsIgnoreCase("y")) { System.out.print("Enter first number:"); firstNumber = input.nextInt(); System.out.print("Enter second number:"); secondnumber = input.nextInt(); input.nextLine(); System.out.printf("GCD of"+ firstNumber + " and " + secondnumber + " is "+ recursive(firstNumber,secondnumber) + " "); System.out.print("Compute another GCD(Y/N)?"); loopCondition = input.next(); } } public static int recursive(int firstNumber, int secondNumber) { if(firstNumberRelated Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.