Programa C / C++ para encontrar la suma de la serie con el término n como n ^ 2 – (n-1) ^ 2

Nos dan un número entero n y n-ésimo término en una serie como se expresa a continuación:

Tn = n2 - (n-1)2

Necesitamos encontrar S n mod (10 9 + 7), donde S n es la suma de todos los términos de la serie dada y,

Sn = T1 + T2 + T3 + T4 + ...... + Tn

Ejemplos:

Input : 229137999
Output : 218194447

Input : 344936985
Output : 788019571

Hagamos algunos cálculos, antes de escribir el programa. Tn se puede reducir para dar 2n-1. Veamos cómo:

Given, Tn = n2 - (n-1)2
Or, Tn =  n2 - (1 + n2 - 2n)
Or, Tn =  n2 - 1 - n2 + 2n
Or, Tn =  2n - 1. 

Ahora, necesitamos encontrar ∑T n .

∑T n = ∑(2n – 1)

Podemos simplificar la fórmula anterior como,
∑(2n – 1) = 2*∑n – ∑1
O, ∑(2n – 1) = 2*∑n – n.
Donde, ∑n es la suma de los primeros n números naturales.

Conocemos la suma de n números naturales = n(n+1)/2.

Por lo tanto, poniendo este valor en la ecuación anterior obtendremos,

∑T norte = (2*( n )*(n+1)/2)-n = norte 2

Ahora el valor de n 2 puede ser muy grande. Entonces, en lugar de elevar directamente al cuadrado n y tomar mod del resultado. Usaremos la propiedad de la multiplicación modular para calcular cuadrados:

(a*b)%k = ((a%k)*(b%k))%k

// CPP program to find sum of given
// series.
#include <bits/stdc++.h>
using namespace std;
  
#define mod 1000000007
  
// Function to find sum of series
// with nth term as n^2 - (n-1)^2
long long findSum(long long n)
{
    return ((n % mod) * (n % mod)) % mod;
}
  
// Driver code
int main()
{
    long long n = 229137999;
    cout << findSum(n);
    return 0;
}
Producción:

218194447

¡Consulte el artículo completo sobre Encontrar la suma de la serie con el término n como n ^ 2 – (n-1) ^ 2 para obtener más detalles!

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *