Dado un entero positivo n . Encuentre la suma del primer término n de la serie
12, 105, 1008, 10011, …..
Ejemplos:
Entrada: n = 4
Salida: 11136Entrada: n = 7
Salida: 11111187
Acercarse:
La secuencia se forma usando el siguiente patrón. Para cualquier valor N-
La solución anterior se puede derivar siguiendo una serie de pasos:
Serie dada-
12 + 105 + 1008 + 10011 +…….
10 + 2 + 100 + 5 + 1000 + 8 + 10000 + 11 +……..
(10 + 100 + 1000 + 10000+……) + (2 + 5 + 8 + 11+……) -(1)
El primer término de la ecuación anterior es progresión geométrica y el segundo término es progresión aritmética.
GP =
donde a es el primer término a, r es la razón común y n es el número de términos.AP =
donde a es el primer término a, a es la diferencia común y n es el número de términos.Entonces, después de sustituir los valores en la ecuación de GP y AP y sustituir las ecuaciones correspondientes en la ecuación (1), obtenemos,
Asi que,
Ilustración:
Entrada: n = 4
Salida: 11136
Explicación:
Esto da respuesta 11136.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to implement // the above approach #include <bits/stdc++.h> #define ll long long using namespace std; // Function to return sum of // N term of the series ll findSum(ll n) { ll x = 10 * (pow(10, n) - 1) / 9; ll y = n * (3 * n + 1) / 2; return x + y; } // Driver Code int main() { ll n = 4; cout << findSum(n); return 0; }
Java
// Java program to implement // the above approach class GFG { // Function to return sum of // N term of the series static int findSum(int n) { int x = (int)(10 * (Math.pow(10, n) - 1) / 9); int y = n * (3 * n + 1) / 2; return x + y; } // Driver Code public static void main(String args[]) { int n = 4; System.out.println(findSum(n)); } } // This code is contributed by saurabh_jaiswal.
Python3
# Python program to implement # the above approach # include <bits/stdc++.h> # define ll long long # Function to return sum of # N term of the series def findSum(n): x = 10 * ((10 ** n) - 1) / 9 y = n * (3 * n + 1) / 2 return int(x + y) # Driver Code n = 4 print(findSum(n)) # This code is contributed by saurabh_jaiswal.
C#
// C# program to implement // the above approach using System; class GFG { // Function to return sum of // N term of the series static int findSum(int n) { int x = (int)(10 * (Math.Pow(10, n) - 1) / 9); int y = n * (3 * n + 1) / 2; return x + y; } // Driver Code public static void Main() { int n = 4; 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 x = 10 * (Math.pow(10, n) - 1) / 9; let y = n * (3 * n + 1) / 2; return Math.floor(x) + Math.floor(y); } // Driver Code // Get the value of N let N = 4; document.write(findSum(N)); // This code is contributed by Potta Lokesh </script>
11136
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por akashjha2671 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA