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.

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);

Add comment