Write a C program to calculate nCr using recursion.
#include <stdio.h>
/* finds factorial of the given number */
int fact(int num) {
int ret;
/* 0! is 1 */
if (!num) {
return 1;
}
/* recursively call */
ret = num * fact(num - 1);
return ret;
}
int main() {
int n, r;
float nCr;
/* get the input value n from the user */
printf("Enter your input for n:");
scanf("%d", &n);
/* get the input value r from the user */
printf("Enter your input for r:");
scanf("%d", &r);
/* calculates nCr */
nCr = (1.0 * fact(n)) / (fact(r) * fact(n - r));
/* printing the result */
printf("Result: %f\n", nCr);
return 0;
}
/* finds factorial of the given number */
int fact(int num) {
int ret;
/* 0! is 1 */
if (!num) {
return 1;
}
/* recursively call */
ret = num * fact(num - 1);
return ret;
}
int main() {
int n, r;
float nCr;
/* get the input value n from the user */
printf("Enter your input for n:");
scanf("%d", &n);
/* get the input value r from the user */
printf("Enter your input for r:");
scanf("%d", &r);
/* calculates nCr */
nCr = (1.0 * fact(n)) / (fact(r) * fact(n - r));
/* printing the result */
printf("Result: %f\n", nCr);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Enter your input for n:12
Enter your input for r:6
Result: 924.000000
Enter your input for n:12
Enter your input for r:6
Result: 924.000000
No comments:
Post a Comment