Assume the availability of a function called fact . The function receives an int
ID: 3759102 • Letter: A
Question
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.
can someone help me write this in c code.
Explanation / Answer
#include <stdio.h>
#include<stdlib.h>
int fact(int x) {
if(x == 1) {
return 1;
}
int k=fact(x-1);
return x*k;
}
int main(void) {
printf("Factorial of %d is: %d", 5, fact(5));
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.