📌  相关文章
📜  M / 1 +(M + P)/ 2 +(M + 2 * P)/ 4 +(M + 3 * P)/ 8系列的总和,直至无穷大

📅  最后修改于: 2021-04-27 05:47:24             🧑  作者: Mango

求出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的无限项总和的公式 \frac{a}{1-r}  对于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的总和;
根据公式\frac{a}{1-r}+\frac{dr}{(1-r)^{2}}  在第一学期
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