求出M / 1 +(M + P)/ 2 +(M + 2 * P)/ 4 +(M + 3 * P)/ 8 …的总和,直至无穷大,其中M和P为正整数。
例子:
Input : M = 0, P = 3;
Output : 6
Input : M = 2, P = 9;
Output : 22
方法 :
S = M / 1 +(M + P)/ 2 +(M + 2 * P)/ 4 +(M + 3 * P)/ 8……直到无限
所以本系列的解决方案将是这样的
我们将把这个系列分为两个部分-
S =(M / 1 + M / 2 + M / 4 + M / 8……直到无穷大)+(p / 2 +(2 * p)/ 4 +(3 * p)/ 8 +…。直到无穷)
让我们考虑一下
S = A + B ……. eq(1)
在哪里,
A = M / 1 + M / 2 + M / 4 + M / 8……直到无限大
A = M *(1 + 1/2 + 1/4 + 1/8…。直到无穷大)
这是r = 1/2的无限项的GP;
根据GP的无限项总和的公式对于r <1和
a是第一项,r是公比,所以现在,
A = M *(1 /(1 – 1/2))
A = 2 * M;
现在是B –
B =(p / 2 +(2 * p)/ 4 +(3 * p)/ 8 +…。直到无穷大)
B = P / 2 *(1 + 2 *(1/2)+ 3 *(1/4)+ ……直到无穷大)
它是a = 1,r = 1/2和d = 1的无限项的AGP的总和;
根据公式在第一学期
r是公比,d是公差,所以现在,
B = P / 2 *(1 /(1-1 / 2)+(1 * 1/2)/(1-1 / 2)^ 2)
B = P / 2 * 4
B = 2 * P;
将A和B的值放在eq(1)中
S = 2(M + P)
C++
#include
using namespace std;
int sum(int M, int P)
{
return 2*(M + P);
}
// driver code
int main() {
int M = 2, P = 9;
cout << sum(M,P);
return 0;
}
Java
// Java Program to finding the
// sum of the series
import java.io.*;
class GFG {
// function that calculate
// the sum of the nth series
static int sum_series(int M, int P)
{
return 2 * (M + P);
}
// Driver function
public static void main (String[] args)
{
int M = 2;
int P = 9;
System.out.println( sum_series(M, P)) ;
}
}
Python3
# Python3 Program to finding
# the sum of the series
# function that calculate
# the sum of the series
def sum_series(M, P):
return int(2 * (M + P))
# Driver function
M = 2
P = 9
print(sum_series(M ,P))
C#
// C# program to finding the
// sum of the series
using System;
class GFG {
// Function that calculate
// the sum of the nth series
static int sum_series(int M, int P)
{
return 2*(M + P);
}
// Driver Code
public static void Main ()
{
int M =2;
int P =9;
Console.Write( sum_series(M,P)) ;
}
}
PHP
Javascript
22