c++ help For this example we will implement factorial. Download the skeleton sou
ID: 3909368 • Letter: C
Question
c++ help
For this example we will implement factorial.
Download the skeleton source code from
https://drive.google.com/file/d/1uliIV42b_NiWGspbMllGDe7d3wR2MpWn
Compile and run the downloaded code; the program should ask for a positive integer and display the value.
Complete FIXME 1 : update the factorial function to include the following fixes:
FIXME 1A : Add a base case to handle when value == 0; in this case, return 1
Add a recursive case that gets closer to the base case with respect to calculating the factorial of the initially passed value.
Recall that the factorial of, for example, 5 is denoted as 5!, which is defined as the product of all positive integers less than or equal to 5.
Compile and run the program; ensure that your program successfully calculates the factorial of the positive integers.
#include<iostream>
#include<limits>
using namespace std;
int factorial(int n);
int main()
{
int value;
cout << "Enter a positive integer: ";
cin >> value;
while (!cin.good()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), ' ');
cout << "Enter a positive integer: ";
cin >> value;
}
cout << value << "! = " << factorial(value) << endl;
}
// FIXME 1
// Update the factorial function for each of the fixes
int factorial(int value)
{
// FIXME 1A: Add a base case to handle when value == 0,
// you should return 1
// Use an if condition to check the value == 0
// FIXME 1B: Add a recursive case to return the updated value
// e.g., if value is 5, then 5! = 5 x (5-1)!
return value; // note this is for the stub, you'll need to update
}
Explanation / Answer
#include<iostream>
#include<limits>
using namespace std;
int factorial(int n);
int main()
{
int value;
cout << "Enter a positive integer: ";
cin >> value;
while (!cin.good()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), ' ');
cout << "Enter a positive integer: ";
cin >> value;
}
cout << value << "! = " << factorial(value) << endl;
}
int factorial(int n)
{
if (n == 0) //Base Case
{
return 1;
}
return n*factorial(n-1);//Recursive case
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.