Consider the following function (assume n is non-negative): public static int factorial(int n) { if( n == 0) return 1; else return (n)* factorial(n+1); } a) recursion and Java (base case, recursive case, parameters, arguments). Explain why this program has infinite recursion using the terminology o b) How would you correct this function to correctly calculate factorials?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
icon
Related questions
Question

q11

Consider the following function (assume n is non-negative):
public static int factorial(int n) {
if( n == 0)
return 1;
else
return (n)* factorial (n+1);
}
a)
recursion and Java (base case, recursive case, parameters, arguments).
Explain why this program has infinite recursion using the terminology of
b)
How would you correct this function to correctly calculate factorials?
Transcribed Image Text:Consider the following function (assume n is non-negative): public static int factorial(int n) { if( n == 0) return 1; else return (n)* factorial (n+1); } a) recursion and Java (base case, recursive case, parameters, arguments). Explain why this program has infinite recursion using the terminology of b) How would you correct this function to correctly calculate factorials?
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Types of Protocols
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning