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)); } }
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
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](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa7e1b932-69d6-4780-b755-a77130ed504e%2Ffd748842-519b-4df0-aad8-c23815c337f7%2F1voodys_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)