给定一个正整数n 。任务是找到 r 和 r th二项式系数的乘积之和。换句话说,找到: Σ (r * n C r ) ,其中 0 <= r <= n。
例子:
Input : n = 2
Output : 4
0.2C0 + 1.2C1 + 2.2C2
= 0*2 + 1*2 + 2*1
= 4
Input : n = 5
Output : 80
方法 1(蛮力):想法是从 0 到 n 迭代循环 i 并评估 i * n C i并添加到 sum 变量。
下面是这个方法的实现:
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[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
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
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
输出:
4
方法2(使用公式):
在数学上我们需要找到,
Σ (i * n C i ),其中 0 <= i <= n
= Σ ( i C 1 * n C i ), (由于n C 1 = n,我们可以将 i 写为i C 1 )
= Σ((i!/(i – 1)!* 1!)*(n!/(n – i)!* i!)
在取消我!从分子和分母
= Σ (n! / (i – 1)! * (n – i)!)
= Σ n * ((n – 1)!/ (i – 1)! * (n – i)!)
(使用反向n C r = (n)!/ (r)! * (n – r)!)
= n * Σ n – 1 C r – 1
= n * 2 n – 1 (因为 Σ n C r = 2 n )
下面是这个方法的实现:
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.
蟒蛇3
# 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
输出:
4
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。