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)

Trending now
This is a popular solution!
Step by step
Solved in 3 steps









