Write a statement that assigns x the value k*(k-1)*(k-2)*…*3*2*1 by calling the fact function and multiplying its return value by k.
LANGUAGE: C++
CHALLENGE:
Assume the availability of a function called fact. The function receives an int argument and returns an int value . If the argument is one or smaller, it returns the integer value one. Otherwise it returns the product of all the integers from one to its argument .
So the value of fact(4) is 1*2*3*4 and the value of fact(10) is 1*2*3*4*5*6*7*8*9*10.
Assume further that the variable k has been declared and initialized to a positive integer .
Assume further that the variable x has been declared as an integer type .
Write a statement that assigns x the value k*(k-1)*(k-2)*…*3*2*1 by calling the fact function and multiplying its return value by k.
Note: your solution must include multiplying fact’s return value by k here.
SOLUTION:
x = k * fact(k - 1);