Saturday, January 11, 2025
Google search engine
HomeData Modelling & AISum of product of r and rth Binomial Coefficient (r * nCr)

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




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


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


PHP




<?php
// PHP 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.
function binomialCoeff($n, &$C)
{
    $C[0] = 1; // nC0 is 1
 
    for ($i = 1; $i <= $n; $i++)
    {
 
        // Compute next row of pascal triangle
        // using the previous row
        for ($j = min($i, $n); $j > 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




<script>
 
    // Javascript 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.
    function binomialCoeff(n, C) {
      C[0] = 1; // nC0 is 1
 
      for (var i = 1; i <= n; i++) {
 
        // Compute next row of pascal triangle
        // using the previous row
        for (var j = Math.min(i, n); j > 0; j--)
          C[j] = C[j] + C[j - 1];
      }
    }
 
    // Return summation of r * nCr
    function summation(n) {
      C = Array(MAX).fill(0);
 
      // finding the first n term of binomial
      // coefficient
      binomialCoeff(n, C);
 
      // Iterate a loop to find the sum.
      var sum = 0;
      for (var i = 0; i <= n; i++)
        sum += (i * C[i]);
 
      return sum;
    }
 
    // Driven Program
    var n = 2;
    document.write(summation(n));
     
    // This code is contributed by noob2000.
  </script>


Output: 

4

 

Time complexity: O(n*n)

space complexity: O(MAX)

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 <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;
}


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




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


Javascript




<script>
 
// Javascript Program to find sum of product of r and
// rth Binomial Coefficient i.e summation r * nCr
var MAX=100
 
// Return summation of r * nCr
function summation(n)
{
    return n << (n - 1);
}
 
// Driven Program
var n = 2;
document.write(summation(n));
     
</script>


Output: 

4

 

Time Complexity: O(1)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments