Given a positive integer, N. Find the sum of the first N term of the series-
0.1, 0.11, 0.111, 0.1111, ….till N terms
Examples:
Input: N = 6
Output: 0.654321Input: N = 1
Output: 0.1
Approach:
1st term = 0.1
2nd term = 0.11
3rd term = 0.111
4th term = 0.1111
.
.
Nth term = 1/9(1 – (1/10) ^ N)
The sequence is formed by using the following pattern. For any value N-
Derivation:
The following series of steps can be used to derive the formula to find the sum of N terms-
The series 0.1, 0.11, 0.111, …till N terms can be written as
-(1) The series
is in G.P. with First term a = 0.1 = 10-1
Common Ratio r = 10-1
Sum of G.P. for r<1 can be expressed as-
Substituting the values of a and r in the equation-
-(2) Substituting the equation (2) in (1), we get-
Illustration:
Input: N = 6
Output: 0.654321
Explanation:
Below is the implementation of the above approach-
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std;
// Function to return sum of // N term of the series double findSum( int N)
{ int a = pow (10, N);
return ( double )(N * 9 * a - a + 1)
/ (81 * a);
} // Driver Code int main()
{ int N = 6;
cout << findSum(N);
} |
// Java program for the above approach import java.io.*;
import java.lang.*;
import java.util.*;
class GFG {
// Function to return sum of // N term of the series static double findSum( double N)
{ double a = Math.pow( 10 , N);
return ( double )(N * 9 * a - a + 1 )
/ ( 81 * a);
} // Driver Code public static void main (String[] args) {
double N = 6 ;
System.out.print(findSum(N));
}
} // This code is contributed by hrithikgarg03188. |
# Python 3 program for the above approach # Function to return sum of # N term of the series def findSum(N):
a = pow ( 10 , N)
return (N * 9 * a - a + 1 ) / ( 81 * a)
# Driver Code if __name__ = = "__main__" :
# Value of N
N = 6 print (findSum(N))
# This code is contributed by Abhishek Thakur. |
// C# program to implement // the above approach using System;
class GFG
{ // Function to return sum of
// N term of the series
static double findSum( int N)
{
int a = ( int )Math.Pow(10, N);
return ( double )(N * 9 * a - a + 1)
/ (81 * a);
}
// Driver Code
public static void Main()
{
int N = 6;
Console.Write(findSum(N));
}
} // This code is contributed by Samim Hossain Mondal. |
<script> // JavaScript code for the above approach
// Function to return sum of
// N term of the series
function findSum(N) {
let a = Math.pow(10, N);
return (N * 9 * a - a + 1)
/ (81 * a);
}
// Driver Code
let N = 6;
document.write(findSum(N));
// This code is contributed by Potta Lokesh
</script>
|
Output
0.654321
Time Complexity: O(logN) because it is using inbuilt pow function
Auxiliary Space: O(1)