Dado un número n, encuentra el término n-ésimo en la serie 3, 13, 42, 108, 235…
Ejemplos:
Input : 3 Output : 42 Input : 4 Output : 108
Restricciones:
1 <= T <= 100
1 <= N <= 100
Enfoque ingenuo:
la serie representa básicamente sumas de cubos de números naturales y número de términos multiplicados por 2. El primer término es la suma del número único. El segundo término es la suma de dos números, y así sucesivamente.
Ejemplos:
n = 2 2nd term equals to sum of 1st term and 8 i.e A2 = A1 + 23 + n*2 = 1 + 8 + 4 = 13 Similarly, A3 = A2 + 33 + n*2 = 9 + 27 + 6 = 42 and so on..
Una solución sencilla es sumar los primeros n números naturales al cubo y el número de términos multiplicado por 2.
C++
// C++ program to find n-th term of // series 3, 13, 42, 108, 235… #include <bits/stdc++.h> using namespace std; // Function to generate a fixed number int magicOfSequence(int N) { int sum = 0; for (int i = 1; i <= N; i++) sum += (i*i*i + i*2); return sum; } // Driver Method int main() { int N = 4; cout << magicOfSequence(N) << endl; return 0; }
Java
// Java Program to Finding n-th term // of series 3, 13, 42, 108, 235 ... class GFG { // Function to generate // a fixed number public static int magicOfSequence(int N) { int sum = 0; for (int i = 1; i <= N; i++) sum += (i * i * i + i * 2); return sum; } // Driver Method public static void main(String args[]) { int N = 4; System.out.println(magicOfSequence(N)); } } // This code is contributed by Jaideep Pyne
Python3
# Python3 program to # find n-th term of # series 3, 13, 42, 108, 235… # Function to generate # a fixed number def magicOfSequence(N) : sum = 0 for i in range(1, N + 1) : sum += (i * i * i + i * 2) return sum; # Driver Code N = 4 print(magicOfSequence(N)) # This code is contributed by vij.
C#
// C# Program to Finding // n-th term of series // 3, 13, 42, 108, 235 ... using System; class GFG { // Function to generate // a fixed number public static int magicOfSequence(int N) { int sum = 0; for (int i = 1; i <= N; i++) sum += (i * i * i + i * 2); return sum; } // Driver Code static public void Main () { int N = 4; Console.WriteLine(magicOfSequence(N)); } } // This code is contributed // by ajit
PHP
<?php // PHP program to find n-th term of // series 3, 13, 42, 108, 235… // Function to generate a fixed number function magicOfSequence($N) { $sum = 0; for ($i = 1; $i <= $N; $i++) $sum += ($i*$i*$i + $i*2); return $sum; } // Driver Method $N = 4; echo magicOfSequence($N); // This code is contributed by m_kit ?>
Javascript
<script> // JavaScript program to find n-th term of // series 3, 13, 42, 108, 235… // Function to generate a fixed number function magicOfSequence( N) { let sum = 0; for (let i = 1; i <= N; i++) sum += (i*i*i + i*2); return sum; } // Driver Function let N = 4; document.write(magicOfSequence(N)); // This code contributed by Rajput-Ji </script>
120
La complejidad temporal de esta solución es O(n).
Enfoque eficiente:
sabemos que la suma de los cubos de los primeros n números naturales es (n*(n+1)/2) 2 . También sabemos que si multiplicamos el i-ésimo término por 2 y lo sumamos todo, obtenemos la suma de n términos como 2*n.
Entonces nuestro resultado es (n*(n+1)/2) 2 + 2*n.
Ejemplo :
Para n = 4 la suma por la fórmula es
(4 * (4 + 1 ) / 2)) ^ 2 + 2*4
= (4 * 5 / 2) ^ 2 + 8
= (10) ^ 2 + 8
= 100 + 8
= 108
Para n = 6 , la suma por la fórmula es
(6 * (6 + 1 ) / 2)) ^ 2 + 2*6
= (6 * 7 / 2) ^ 2 + 12
= (21) ^ 2 + 12
= 441 + 12
= 453
C++
// A formula based C++ program to find sum // of series with cubes of first n natural // numbers #include <iostream> using namespace std; int magicOfSequence(int N) { return (N * (N + 1) / 2) + 2 * N; } // Driver Function int main() { int N = 6; cout << magicOfSequence(N); return 0; }
Java
// A formula based Java program to find sum // of series with cubes of first n natural // numbers class GFG { static int magicOfSequence(int N) { return (N * (N + 1) / 2) + 2 * N; } // Driver Function public static void main(String[] args) { int N = 6; System.out.println(magicOfSequence(N)); } } // This code is contributed by Smitha.
Python 3
# A formula based Python program to find sum # of series with cubes of first n natural # numbers def magicOfSequence(N): return (N * (N + 1) / 2) + 2 * N # Driver Function N = 6 print(int(magicOfSequence(N))) # This code is contributed by Smitha.
C#
// A formula based C# program to find sum // of series with cubes of first n natural // numbers using System; class GFG { static int magicOfSequence(int N) { return (N * (N + 1) / 2) + 2 * N; } // Driver Function public static void Main() { int N = 6; Console.Write(magicOfSequence(N)); } } // This code is contributed by Smitha.
PHP
<?php // A formula based PHP program // to find sum of series with // cubes of first n natural numbers function magicOfSequence($N) { return ($N * ($N + 1) / 2) + 2 * $N; } // Driver Code $N = 6; echo magicOfSequence($N) . "\n"; // This code is contributed by mits ?>
Javascript
<script> // A formula based Java program to find sum // of series with cubes of first n natural // numbers function magicOfSequence( N) { return (N * (N + 1) / 2) + 2 * N; } // Driver Function let N = 6; document.write(magicOfSequence(N)); // This code is contributed by 29AjayKumar </script>
33
Complejidad de tiempo: O(1)
Complejidad espacial : O (1) ya que el espacio constante se usa para variables