📌  相关文章
📜  系列的总和1 /(1 * 2)+ 1 /(2 * 3)+ 1 /(3 * 4)+ 1 /(4 * 5)+。 。 。 。 。

📅  最后修改于: 2021-04-24 20:33:29             🧑  作者: Mango

给定一个正整数n,问题是要找到给定级数的总和,直到n个项:
1 /(1 * 2)+ 1 /(2 * 3)+ 1 /(3 * 4)+ 1 /(4 * 5)+。 。 。 。 。 。 。 + 1 /(n *(n + 1))
例子 :

Input : 3
Output : 0.75
  ( 1/(1*2)+ 1/(2*3) + 1/(3*4) )
= (1/2 + 1/6 + 1/12)
= 0.75

Input : 10
Output : 0.909
  ( 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) +
   1/(5*6) + 1/(6*7) + 1/(7*8) + 1/(8*9) +
   1/(9*10) + 1/(10*11) )
= (1/2 + 1/6 + 1/12 + 1/20 + 1/30 +
   1/42 + 1/56 + 1/72 + 1/90 + 1/110)
= 0.909

天真的方法:使用for循环迭代地计算每个项并加到最终的总和上。

C++
// C++ program to find the sum of given series
#include 
using namespace std;
 
// function to find the sum of given series
double sumOfTheSeries(int n)
{
    // Computing sum term by term
    double sum = 0.0;
    for (int i = 1; i <= n; i++)
        sum += 1.0 / (i * (i + 1));  
    return sum;
}
 
// driver program to test above function
int main()
{
    int n = 10;
    cout << sumOfTheSeries(n);
    return 0;
}


Java
// Java program to find the sum of given series
class demo {
 
    // function to find the sum of given series
    public static double sumOfTheSeries(int n)
    {
       // Computing sum term by term
        double sum = 0.0;
        for (int i = 1; i <= n; i++)
            sum += 1.0 / (i * (i + 1));
        return sum;
    }
 
    // driver program to test above function
    public static void main(String args[])
    {
        int n = 10;
        System.out.println(sumOfTheSeries(n));
    }
}


Python3
# Python3 code to find the sum of given series
 
# Function to find the sum of given series
def sumOfTheSeries( n ):
     
    # Computing sum term by term
    sum = 0
    for i in range(1, n + 1):
        sum += 1.0 / (i * (i + 1));
    return sum
 
 
# Driver function
if __name__ == '__main__':
     
    ans = sumOfTheSeries(10)
     
    # Rounding decimal value to 6th decimal place
    print (round(ans, 6))
 
# This code is contributed by 'saloni1297'


C#
// C# program to find the sum of given series
using System;
 
class demo {
 
    // Function to find the sum of given series
    public static double sumOfTheSeries(int n)
    {
        // Computing sum term by term
        double sum = 0.0;
        for (int i = 1; i <= n; i++)
            sum += 1.0 / (i * (i + 1));
        return sum;
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 10;
        Console.Write(sumOfTheSeries(n));
    }
}
 
// This code is contributed by vt_m


PHP


Javascript


C++
// C++ program to find sum of given series
#include 
using namespace std;
 
// function to find sum of given series
double sumOfTheSeries(int n)
{
    // type-casting n/n+1 from int to double
    return (double)n / (n + 1);
}
 
// driver program to test above function
int main()
{
    int n = 10;
    cout << sumOfTheSeries(n);
    return 0;
}


Java
// Java program to find sum of given series
class demo {
 
    // function to find sum of given series
    public static double sumOfTheSeries(int n)
    {
        // type -casting n/n+1 from int to double
        return(double)n / (n + 1);
    }
 
    // driver program to test above function
    public static void main(String args[])
    {
        int n = 10;
        System.out.println(sumOfTheSeries(n));
    }
}


Python3
# Python3 code to find sum of given series
 
# Function to find sum of given series
def sumOfTheSeries(n):
     
    # Type-casting n/n+1 from int to float
    return (float(n) / (n + 1))
 
# Driver function  
if __name__ == '__main__':
         
    n = 10
    ans = sumOfTheSeries(n)
     
    # Rounding decimal value
    print (round(ans, 6))
 
# This code is contributed by 'saloni1297'


C#
// C# program to find sum of given series
using System;
 
class demo {
 
    // Function to find sum of given series
    public static double sumOfTheSeries(int n)
    {
        // type -casting n/n+1 from int to double
        return(double)n / (n + 1);
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 10;
        Console.Write(sumOfTheSeries(n));
    }
}
 
// This code is contributed by vt_m.


PHP


输出 :

0.909091

高效方法:使用公式n /(n + 1)

Validity of the formula:
Sum upto n terms = 1/(1*2) + 1/(2*3) + 1/(3*4) +
                           ........ + 1/(n*(n+1))
where
1st term = 1/(1*2)
2nd term = 1/(2*3)
3rd term = 1/(3*4)
.
.
.
.
n-th term = 1/(n*(n+1))

i.e. the k-th term is of the form 1/(k*(k+1))
which can further be written as k-th term = 
                              1/k - 1/(k+1)

So sum upto n terms can be calculated as:
  (1/1 - 1/1+1) + (1/2 - 1/2+1) + (1/3 - 1/3+1)
   + ......... + (1/n-1 - /1n) + (1/n - 1/n+1) 
= (1 - 1/2) + (1/2 - 1/3) + (1/3 - 1/4) + .........
                    + (1/n-1 - 1/n) + (1/n - 1/n+1)
= 1 - 1/n+1
= ((n+1) - 1)/n+1
= n/n+1

Hence sum  upto n terms = n/n+1

C++

// C++ program to find sum of given series
#include 
using namespace std;
 
// function to find sum of given series
double sumOfTheSeries(int n)
{
    // type-casting n/n+1 from int to double
    return (double)n / (n + 1);
}
 
// driver program to test above function
int main()
{
    int n = 10;
    cout << sumOfTheSeries(n);
    return 0;
}

Java

// Java program to find sum of given series
class demo {
 
    // function to find sum of given series
    public static double sumOfTheSeries(int n)
    {
        // type -casting n/n+1 from int to double
        return(double)n / (n + 1);
    }
 
    // driver program to test above function
    public static void main(String args[])
    {
        int n = 10;
        System.out.println(sumOfTheSeries(n));
    }
}

Python3

# Python3 code to find sum of given series
 
# Function to find sum of given series
def sumOfTheSeries(n):
     
    # Type-casting n/n+1 from int to float
    return (float(n) / (n + 1))
 
# Driver function  
if __name__ == '__main__':
         
    n = 10
    ans = sumOfTheSeries(n)
     
    # Rounding decimal value
    print (round(ans, 6))
 
# This code is contributed by 'saloni1297'

C#

// C# program to find sum of given series
using System;
 
class demo {
 
    // Function to find sum of given series
    public static double sumOfTheSeries(int n)
    {
        // type -casting n/n+1 from int to double
        return(double)n / (n + 1);
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 10;
        Console.Write(sumOfTheSeries(n));
    }
}
 
// This code is contributed by vt_m.

的PHP


输出 :

0.909091