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++
// 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
// 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. |
Python3
# 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#
// 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. |
Javascript
<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> |
0.654321
Time Complexity: O(logN) because it is using inbuilt pow function
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!