I have two questions: Is my programs code the most effective way at finding recursion or is there a much better and cleaner way? Why is the program showing 0 when I implement a number that depth is greater than 100? Shouldn't it show the number 1?   Source code: package recursiveModule; public class RecursiveMethod {     public static long calculateFactorial(int n, int depth) {         if (depth > 100 || n <= 1) {             return 1;         }                  return n * calculateFactorial(n - 1, depth + 1);     }          public static void main(String[] args) {                               System.out.println("Factorial of 1 is " + RecursiveMethod.calculateFactorial(1, 0));                 System.out.println("Factorial of 8 is " + RecursiveMethod.calculateFactorial(8, 0));                                       System.out.println("Factorial of 101 is " + RecursiveMethod.calculateFactorial(101, 0));                                    }  }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I have two questions:

Is my programs code the most effective way at finding recursion or is there a much better and cleaner way?

Why is the program showing 0 when I implement a number that depth is greater than 100? Shouldn't it show the number 1?

 

Source code:

package recursiveModule;

public class RecursiveMethod {
    public static long calculateFactorial(int n, int depth) {
        if (depth > 100 || n <= 1) {
            return 1;
        }
        
        return n * calculateFactorial(n - 1, depth + 1);
    }

         public static void main(String[] args) {
             
                System.out.println("Factorial of 1 is " + RecursiveMethod.calculateFactorial(1, 0));
                System.out.println("Factorial of 8 is " + RecursiveMethod.calculateFactorial(8, 0));                      
                System.out.println("Factorial of 101 is " + RecursiveMethod.calculateFactorial(101, 0));                               
    }
 } 

 

1 package recursiveModule;
123456789100m23456013.19 20
3 public class RecursiveMethod {
4º
12°
18 }
public static long calculateFactorial(int n, int depth) {
if (depth > 100 || n <= 1) {
return 1;
}
}
}
return n* calculate Factorial (n 1, depth + 1);
public static void main(String[] args) {
System.out.println("Factorial of 1 is + RecursiveMethod.calculateFactorial (1, 0));
System.out.println("Factorial of 8 is " + RecursiveMethod.calculateFactorial (8, 0));
System.out.println("Factorial of 101 is + RecursiveMethod.calculate Factorial (101, 0));
Console X
<terminated> RecursiveMethod [Java Application] C:\Users\haile\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.6.v20230204-1729\jre\bin\javaw.exe (Ju
Factorial of 1 is 1
Factorial of 8 is 40320
Factorial of 101 is 0
Transcribed Image Text:1 package recursiveModule; 123456789100m23456013.19 20 3 public class RecursiveMethod { 4º 12° 18 } public static long calculateFactorial(int n, int depth) { if (depth > 100 || n <= 1) { return 1; } } } return n* calculate Factorial (n 1, depth + 1); public static void main(String[] args) { System.out.println("Factorial of 1 is + RecursiveMethod.calculateFactorial (1, 0)); System.out.println("Factorial of 8 is " + RecursiveMethod.calculateFactorial (8, 0)); System.out.println("Factorial of 101 is + RecursiveMethod.calculate Factorial (101, 0)); Console X <terminated> RecursiveMethod [Java Application] C:\Users\haile\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.6.v20230204-1729\jre\bin\javaw.exe (Ju Factorial of 1 is 1 Factorial of 8 is 40320 Factorial of 101 is 0
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Time complexity
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education