给定一个正整数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