#include//for permutation and combination float permutation(int,int);//return type is float float combination(int,int);//as its return type is float ie decimal int factorial(int);//factorial function int main()// the main function { printf("In Permutation & Combination *n>r>0*"); int n,r,choice,loop=1;// defining variable n,r and choice float call; while(loop) { printf("\n \t \t \t Enter 1:Permutation 2:Combination 3:Exit \n"); scanf("%d",&choice);//asking from user which operation to perform if(choice==1) { printf("\n \t\t\t\t Permutation ");//displaying user which operation he chose printf("\n Enter n: ");//asking n from user scanf("%d",&n); printf(" Enter r: ");//R FROM USER scanf("%d",&r); call=permutation(n,r);// CALLING FUNCTION printf("\n \t\t\t\t P(%d,%d) = %f",n,r,call); } if(choice==2) { printf(" \n \t\t\t\t Combination "); printf("\n Enter n: ");//asking n from user scanf("%d",&n); printf(" Enter r: ");//R FROM USER scanf("%d",&r); call=combination(n,r);// FUNCTIOM CALLING printf("\n \t\t\t\t C(%d,%d) = %f",n,r,call); } if(choice==3) { printf("\n \t\t\t\t \b\b Thanks For Using This Program :-)"); break; } } } // FUNCTION BODY float permutation(int n,int r) { int numerator,denominator;//defining two variable numerator and denominator:wq numerator=factorial(n);// calculating the numerator denominator=factorial(n-r);//calling function factorial for deno. ie (n-r)! return numerator/denominator; } float combination(int n,int r)// FUNCTION BODY { int numerator,denominator; numerator=factorial(n); denominator=factorial(n-r)*factorial(r); return numerator/denominator; } int factorial(int n)//function body { int result=1;// variable result while(n>0)//loop till n>0 { result= result*n; n=n-1;//decreasing value of n } return result; }