You are to write two functions A factorialfunction that take

You are to write two functions. A factorialfunction that takes as input an integer (pass-by-value) and returns thefactorial of the number. Your function should return a -1 if the input parameteris negative. Another function is your own power function (like the built-in pow function). Inthe power function, you are to take as input two integers (pass-by-value) thatdenote the base and the exponent, and returns the base to the power of exponent(NOTE: you cannot do base^exponent -- that doesn\'t work). One last requirement, each input that is passed into the functions needs to be arandom number between 1 and 10.Be sure to call srand(time(NULL)) only once in your program.

Solution

// C++ code factorial and power function

#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <fstream>
using namespace std;

int factorialfunction(int number)
{
    if(number < 0)
      return -1;

    int factorial = 1;
    for (int i = 2; i <= number ; ++i)
    {
       factorial = factorial *i;
    }

    return factorial;

}

int powerfunction(int base, int exponent)
{
    int temp = base;
    while(exponent-- != 1)
    {
        base = base*temp;
    }

    return base;
}

int main()
{
    srand(time(NULL));

    int number = rand()%10 + 1;
    int base = rand()%10 + 1;
    int exponent = rand()%10 + 1;

    cout << number << \"! = \" << factorialfunction(number) << endl << endl;
    cout << base << \"^\" << exponent << \" = \" << powerfunction(base,exponent) << endl << endl;


    return 0;
}

/*
output:

10! = 3628800
3^9 = 19683


1! = 1
7^9 = 40353607


8! = 40320
1^7 = 1


4! = 24
8^2 = 64

*/

You are to write two functions. A factorialfunction that takes as input an integer (pass-by-value) and returns thefactorial of the number. Your function should
You are to write two functions. A factorialfunction that takes as input an integer (pass-by-value) and returns thefactorial of the number. Your function should

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site