From 903fb2154586f499af9acda3b9d4060ede8799aa Mon Sep 17 00:00:00 2001 From: Saumya Mishra Date: Sat, 31 Oct 2020 11:08:51 +0530 Subject: [PATCH] Find nCr for given n and r. --- Dynamic Programming/nCr.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Dynamic Programming/nCr.cpp diff --git a/Dynamic Programming/nCr.cpp b/Dynamic Programming/nCr.cpp new file mode 100644 index 000000000..2a8590559 --- /dev/null +++ b/Dynamic Programming/nCr.cpp @@ -0,0 +1,29 @@ +int nCrModp(int n, int r) +{ + int dp[n+1][r+1]={0}; + if(r>n){ + return 0; + } + else if(r==n){ + return 1; + } + else{ + for(int i=0;i<=n;i++){ + dp[i][0] = 1; + } + for(int j=1;j<=r;j++){ + dp[0][j] = 0; + } + for(int i=1;i<=n;i++){ + for(int j=1;j<=r;j++){ + if(i==j){ + dp[i][j] = 1; + } + else{ + dp[i][j] = ((dp[i-1][j]%p) + (dp[i-1][j-1]%p))%p; + } + } + } + return (dp[n][r]%p); + } +}