Sum of product of r and rth Binomial Coefficient (r * nCr)

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP Program to find sum of product of r and
// rth Binomial Coefficient i.e summation r * nCr
#include <bits/stdc++.h>
using namespace std;
#define MAX 100
  
// Return the first n term of binomial coefficient.
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 = 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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[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()
{
    int n = 2;
    Console.Write( summation(n));
}
}
  
// This code is contributed 
// by shiv_bhakt

chevron_right


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 ?>

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP Program to find sum of product of r and
// rth Binomial Coefficient i.e summation r * nCr
#include <bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP Program to find sum 
// of product of r and
// rth Binomial Coefficient
// i.e summation r * nCr
  
// Return summation of r * nCr
function summation( $n)
{
    return $n << ($n - 1);
}
  
// Driver Code
$n = 2;
echo summation($n) ;
  
// This code is contributed 
// by shiv_bhakt
?>

chevron_right


Output:

4


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.