数列1/(1*2)+1/(2*3)+1/(3*4)+1/(4*5)+的和。

给定一个正整数n,问题是求给定n项级数的和: 1/(1*2) + 1/(2*3) + 1/(3*4) + 1/(4*5) + . . . . . . . + 1/(n*(n+1))

null

例如:

Input : 3Output : 0.75  ( 1/(1*2)+ 1/(2*3) + 1/(3*4) )= (1/2 + 1/6 + 1/12)= 0.75Input : 10Output : 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 <bits/stdc++.h>
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

<?php
// PHP program to find the
// sum of given series
// function to find the
// sum of given series
function sumOfTheSeries( $n )
{
// Computing sum term by term
$sum = 0.0;
for ( $i = 1; $i <= $n ; $i ++)
$sum += 1.0 / ( $i * ( $i + 1));
return $sum ;
}
// Driver Code
$n = 10;
echo sumOfTheSeries( $n );
// This code is contributed by anuj_67
?>


Javascript

<script>
// JavaScript program to find the sum of given series
// function to find the sum of given series
function sumOfTheSeries(n)
{
// Computing sum term by term
let sum = 0.0;
for (let i = 1; i <= n; i++)
sum += 1.0 / (i * (i + 1));
return sum;
}
// Driver code
let n = 10;
document.write(sumOfTheSeries(n));
</script>


输出:

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))where1st 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+1Hence sum  upto n terms = n/n+1

C++

// C++ program to find sum of given series
#include <bits/stdc++.h>
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

<?php
// PHP program to find
// sum of given series
// function to find sum
// of given series
function sumOfTheSeries( $n )
{
// type-casting n/n+1
// from int to double
return $n / ( $n + 1);
}
// Driver Code
$n = 10;
echo sumOfTheSeries( $n );
// This code is contributed
// by SanjuTomar
?>


Javascript

<script>
// Javascript program to find sum of given series
// Function to find sum of given series
function sumOfTheSeries(n)
{
// type -casting n/n+1 from int to double
return (n / (n + 1));
}
let n = 10;
document.write(sumOfTheSeries(n).toFixed(6));
</script>


输出:

0.909091

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享