Related Articles
Sum of product of r and rth Binomial Coefficient (r * nCr)
• Difficulty Level : Easy
• Last Updated : 25 Mar, 2021

Given a positive integer n. The task is to find the sum of the product of r and rth Binomial Coefficient. In other words find: Σ (r * nCr), where 0 <= r <= n.
Examples:

```Input : n = 2
Output : 4
0.2C0 + 1.2C1 + 2.2C2
= 0*2 + 1*2 + 2*1
= 4

Input : n = 5
Output : 80```

Method 1 (Brute Force) : The idea is to iterate a loop i from 0 to n and evaluate i * nCi and add to sum variable.
Below is the implementation of this approach:

## C++

 `// CPP Program to find sum of product of r and``// rth Binomial Coefficient i.e summation r * nCr``#include ``using` `namespace` `std;``#define MAX 100` `// Return the first n term of binomial coefficient.``void` `binomialCoeff(``int` `n, ``int` `C[])``{``    ``C = 1; ``// nC0 is 1` `    ``for` `(``int` `i = 1; i <= n; i++) {` `        ``// Compute next row of pascal triangle``        ``// using the previous row``        ``for` `(``int` `j = min(i, n); j > 0; j--)``            ``C[j] = C[j] + C[j - 1];``    ``}``}` `// Return summation of r * nCr``int` `summation(``int` `n)``{``    ``int` `C[MAX];``    ``memset``(C, 0, ``sizeof``(C));` `    ``// finding the first n term of binomial``    ``// coefficient``    ``binomialCoeff(n, C);` `    ``// Iterate a loop to find the sum.``    ``int` `sum = 0;``    ``for` `(``int` `i = 0; i <= n; i++)``        ``sum += (i * C[i]);   ` `    ``return` `sum;``}` `// Driven Program``int` `main()``{``    ``int` `n = 2;``    ``cout << summation(n) << endl;``    ``return` `0;``}`

## Java

 `// Java Program to find sum``// of product of r and rth``// Binomial Coefficient i.e``// summation r * nCr``class` `GFG``{``static` `int` `MAX = ``100``;` `// Return the first n term``// of binomial coefficient.``static` `void` `binomialCoeff(``int` `n,``                          ``int` `C[])``{``    ``C[``0``] = ``1``; ``// nC0 is 1` `    ``for` `(``int` `i = ``1``; i <= n; i++)``    ``{` `        ``// Compute next row of``        ``// pascal triangle using``        ``// the previous row``        ``for` `(``int` `j = Math.min(i, n); j > ``0``; j--)``            ``C[j] = C[j] + C[j - ``1``];``    ``}``}` `// Return summation``// of r * nCr``static` `int` `summation(``int` `n)``{``    ``int` `C[] = ``new` `int``[MAX];``    ` `    ``for``(``int` `i = ``0``; i < MAX; i++)``    ``C[i] = ``0``;` `    ``// finding the first n term ``    ``// of binomial coefficient``    ``binomialCoeff(n, C);` `    ``// Iterate a loop``    ``// to find the sum.``    ``int` `sum = ``0``;``    ``for` `(``int` `i = ``0``; i <= n; i++)``        ``sum += (i * C[i]);` `    ``return` `sum;``}` `// Driver Code``public` `static` `void` `main(String args[])``{``    ``int` `n = ``2``;``    ``System.out.println( summation(n));``}``}` `// This code is contributed by Arnab Kundu`

## Python 3

 `# Python 3 Program to find sum of product``# of r and rth Binomial Coefficient i.e``# summation r * nCr``MAX` `=` `100` `# Return the first n term of``# binomial coefficient.``def` `binomialCoeff(n, C):` `    ``C[``0``] ``=` `1` `# nC0 is 1` `    ``for` `i ``in` `range``(``1``, n ``+` `1``):` `        ``# Compute next row of pascal triangle``        ``# using the previous row``        ``for` `j ``in` `range``(``min``(i, n), ``-``1``, ``-``1``):``            ``C[j] ``=` `C[j] ``+` `C[j ``-` `1``]` `# Return summation of r * nCr``def` `summation( n):` `    ``C ``=` `[``0``] ``*` `MAX` `    ``# finding the first n term of``    ``# binomial coefficient``    ``binomialCoeff(n, C)` `    ``# Iterate a loop to find the sum.``    ``sum` `=` `0``    ``for` `i ``in` `range``(n ``+` `1``):``        ``sum` `+``=` `(i ``*` `C[i])` `    ``return` `sum` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:``    ` `    ``n ``=` `2``    ``print``(summation(n))` `# This code is contributed by ita_c`

## C#

 `// C# Program to find sum``// of product of r and rth``// Binomial Coefficient i.e``// summation r * nCr``using` `System;` `class` `GFG``{``static` `int` `MAX = 100;` `// Return the first n term``// of binomial coefficient.``static` `void` `binomialCoeff(``int` `n,``                          ``int` `[]C)``{``    ``C = 1; ``// nC0 is 1` `    ``for` `(``int` `i = 1; i <= n; i++)``    ``{` `        ``// Compute next row of``        ``// pascal triangle using``        ``// the previous row``        ``for` `(``int` `j = Math.Min(i, n);``                 ``j > 0; j--)``            ``C[j] = C[j] + C[j - 1];``    ``}``}` `// Return summation``// of r * nCr``static` `int` `summation(``int` `n)``{``    ``int` `[]C = ``new` `int``[MAX];``    ` `    ``for``(``int` `i = 0; i < MAX; i++)``    ``C[i] = 0;` `    ``// finding the first n term``    ``// of binomial coefficient``    ``binomialCoeff(n, C);` `    ``// Iterate a loop``    ``// to find the sum.``    ``int` `sum = 0;``    ``for` `(``int` `i = 0; i <= n; i++)``        ``sum += (i * C[i]);` `    ``return` `sum;``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `n = 2;``    ``Console.Write( summation(n));``}``}` `// This code is contributed``// by shiv_bhakt`

## PHP

 ` 0; ``\$j``--)``            ``\$C``[``\$j``] = ``\$C``[``\$j``] + ``\$C``[``\$j` `- 1];``    ``}``}` `// Return summation of r * nCr``function` `summation(``\$n``)``{``    ``global` `\$MAX``;``    ``\$C` `= ``array_fill``(0, ``\$MAX``, 0);` `    ``// finding the first n term of``    ``// binomial coefficient``    ``binomialCoeff(``\$n``, ``\$C``);` `    ``// Iterate a loop to find the sum.``    ``\$sum` `= 0;``    ``for` `(``\$i` `= 0; ``\$i` `<= ``\$n``; ``\$i``++)``        ``\$sum` `+= (``\$i` `* ``\$C``[``\$i``]);` `    ``return` `\$sum``;``}` `// Driver Code``\$n` `= 2;``echo` `summation(``\$n``);` `// This code is contributed by mits``?>`

## Javascript

 ``
Output:
`4`

Method 2 (Using formula) :
Mathematically we need to find,
Σ (i * nCi), where 0 <= i <= n
= Σ (iC1 * nCi), (Since nC1 = n, we can write i as iC1
= Σ ( (i! / (i – 1)! * 1!) * (n! / (n – i)! * i!)
On cancelling i! from numerator and denominator
= Σ (n! / (i – 1)! * (n – i)!)
= Σ n * ((n – 1)!/ (i – 1)! * (n – i)!)
(Using reverse of nCr = (n)!/ (r)! * (n – r)!)
= n * Σ n – 1Cr – 1
= n * 2n – 1 (Since Σ nCr = 2n)
Below is the implementation of this approach:

## C++

 `// CPP Program to find sum of product of r and``// rth Binomial Coefficient i.e summation r * nCr``#include ``using` `namespace` `std;``#define MAX 100` `// Return summation of r * nCr``int` `summation(``int` `n)``{``    ``return` `n << (n - 1);``}` `// Driven Program``int` `main()``{``    ``int` `n = 2;``    ``cout << summation(n) << endl;``    ``return` `0;``}`

## Java

 `// Java Program to find sum of product of``// r and rth Binomial Coefficient i.e``// summation r * nCr``import` `java.io.*;` `class` `GFG {` `    ``static` `int` `MAX = ``100``;``    ` `    ``// Return summation of r * nCr``    ``static` `int` `summation(``int` `n)``    ``{``        ``return` `n << (n - ``1``);``    ``}``    ` `    ``// Driven Program``    ``public` `static` `void` `main (String[] args)``    ``{``        ``int` `n = ``2``;``        ``System.out.println( summation(n));``    ``}``}` `// This code is contributed by anuj_67.`

## Python3

 `# Python3 Program to``# find sum of product``# of r and rth Binomial``# Coefficient i.e``# summation r * nCr` `# Return summation``# of r * nCr``def` `summation( n):``    ``return` `n << (n ``-` `1``);` `# Driver Code``n ``=` `2``;``print``(summation(n));` `# This code is contributed``# by mits`

## C#

 `// C# Program to find sum of product of``// r and rth Binomial Coefficient i.e``// summation r * nCr``using` `System;` `class` `GFG {` `    ``//static int MAX = 100;``    ` `    ``// Return summation of r * nCr``    ``static` `int` `summation(``int` `n)``    ``{``        ``return` `n << (n - 1);``    ``}``    ` `    ``// Driver Code``    ``public` `static` `void` `Main ()``    ``{``        ``int` `n = 2;``        ``Console.WriteLine( summation(n));``    ``}``}` `// This code is contributed by anuj_67.`

## PHP

 ``

## Javascript

 ``
Output:
`4`

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up