Here is a C++ program to find ncr by simple method and than by recursion.
Formula for nCr = n!/(r!*(n-r)!).
Recursive formula nCr = (n-1)Cr + (n-1)C(r-1)
Method 1 : C++ program to calculate nCr
Method 2 : C++ program to calculate nCr using recursion
Formula for nCr = n!/(r!*(n-r)!).
Recursive formula nCr = (n-1)Cr + (n-1)C(r-1)
Method 1 : C++ program to calculate nCr
#include <iostream>
using namespace std;
long factorial(long);
int main()
{
long n,r,ncr;
cout<<"Enter the value of n and r ";
cin>>n>>r;
ncr=factorial(n)/(factorial(r)*factorial(n-r));
cout<<"nCr = "<<ncr;
return 0;
}
long factorial(long number)
{
long fact=1;
while(number!=0)
{
fact*=number;
number--;
}
return fact;
}
using namespace std;
long factorial(long);
int main()
{
long n,r,ncr;
cout<<"Enter the value of n and r ";
cin>>n>>r;
ncr=factorial(n)/(factorial(r)*factorial(n-r));
cout<<"nCr = "<<ncr;
return 0;
}
long factorial(long number)
{
long fact=1;
while(number!=0)
{
fact*=number;
number--;
}
return fact;
}
Method 2 : C++ program to calculate nCr using recursion
#include<iostream>
#include<math.h>
using namespace std;
int ncr(int n,int r)
{
if(r==0||n==r)
return 1;
return ncr(n-1,r-1)+ncr(n-1,r);
}
int main()
{
int n,r;
cout<<"Enter the value of n and r : ";
cin>>n>>r;
if(n<r)
cout<<"r should be less than n ";
cout<<"nCr = "<<ncr(n,r);
return 0;
}
#include<math.h>
using namespace std;
int ncr(int n,int r)
{
if(r==0||n==r)
return 1;
return ncr(n-1,r-1)+ncr(n-1,r);
}
int main()
{
int n,r;
cout<<"Enter the value of n and r : ";
cin>>n>>r;
if(n<r)
cout<<"r should be less than n ";
cout<<"nCr = "<<ncr(n,r);
return 0;
}
No comments:
Post a Comment