Encuentra la suma de la serie x(x+y) + x^2(x^2+y^2) +x^3(x^3+y^3)+ … + x^n(x^n+y ^n)

Dada una serie  x(x+y)+x^{2}(x^{2}+y^{2})+...+x^{n}(x^{n}+y^{n})  donde x, y y n toman valores enteros. La tarea es encontrar la suma hasta el término n de la serie dada.
Ejemplos: 
 

Input: x = 2, y = 2, n = 2
Output: 40

Input: x = 2, y = 4, n = 2
Output: 92

Enfoque: La serie dada es: 
S=x(x+y)+x^{2}(x^{2}+y^{2})+x^{3}(x^{3}+y^{3})+... +x^{n}(x^{n}+y^{n})
=(x^{2}+xy)+(x^{4}+x^{2}y^{2})++(x^{6}+x^{3}y^{3})+...++(x^{2n}+x^{n}y^{n})
=(x^{2}+x^{4}+x^{6}+...+x^{2n})+(xy+x^{2}y^{2}+x^{3}y^{3}+...+x^{n}y^{n})
=(\frac{x^{2}((x^{2})^{n}-1)}{x^{2}-1})+(\frac{xy(x^{n}y^{n}-1)}{xy-1})
Por lo tanto, nuestro problema se reduce a encontrar la suma de dos series de GP .
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// CPP program to find the sum of series
#include <bits/stdc++.h>
using namespace std;
 
// Function to return required sum
int sum(int x, int y, int n)
{
 
    // sum of first series
    int sum1 = (pow(x, 2) * (pow(x, 2 * n) - 1))
               / (pow(x, 2) - 1);
 
    // sum of second series
    int sum2 = (x * y * (pow(x, n) * pow(y, n) - 1))
               / (x * y - 1);
 
    return sum1 + sum2;
}
 
// Driver Code
int main()
{
    int x = 2, y = 2, n = 2;
 
    // function call to print sum
    cout << sum(x, y, n);
    return 0;
}

Java

// Java program to find the sum of series
 
public class GFG {
     
    // Function to return required sum
    static int sum(int x, int y, int n)
    {
     
        // sum of first series
        int sum1 = (int) (( Math.pow(x, 2) * (Math.pow(x, 2 * n) - 1))
                   / (Math.pow(x, 2) - 1));
     
        // sum of second series
        int sum2 = (int) ((x * y * (Math.pow(x, n) * Math.pow(y, n) - 1))
                    / (x * y - 1));
     
        return sum1 + sum2;
    }
     
    // Driver code
    public static void main (String args[]){
        int x = 2, y = 2, n = 2;
         
        // function call to print sum
        System.out.println(sum(x, y, n));
    }
 
// This code is contributed by ANKITRAI1
}

Python3

# Python3 program to find the sum of series
# Function to return required sum
 
def sum(x,y,n):
     
    # sum of first series
    sum1 = ((x**2)*(x**(2*n)-1))//(x**2 - 1)
     
    # sum of second series
    sum2 = (x*y*(x**n*y**n-1))//(x*y-1)
    return (sum1+sum2)
     
# Driver Code
if __name__=='__main__':
    x = 2
    y = 2
    n = 2
# function call to print sum
    print(sum(x, y, n))
     
# this code is contributed by sahilshelangia

C#

// C# program to find the sum of series
using System;
 
class GFG
{
 
// Function to return required sum
static int sum(int x, int y, int n)
{
 
    // sum of first series
    int sum1 = (int) ((Math.Pow(x, 2) *
                      (Math.Pow(x, 2 * n) - 1)) /
                      (Math.Pow(x, 2) - 1));
 
    // sum of second series
    int sum2 = (int) ((x * y * (Math.Pow(x, n) *
                Math.Pow(y, n) - 1)) / (x * y - 1));
 
    return sum1 + sum2;
}
 
// Driver code
public static void Main ()
{
    int x = 2, y = 2, n = 2;
     
    // function call to print sum
    Console.Write(sum(x, y, n));
}
}
 
// This code is contributed by ChitraNayal

PHP

<?php
// PHP program to find the
// sum of series
 
// Function to return required sum
function sum($x, $y, $n)
{
    //sum of first series
    $sum1 = (pow($x, 2) *
            (pow($x, 2 * $n) - 1)) /
            (pow($x, 2) - 1);
 
    // sum of second series
    $sum2 = ($x * $y * (pow($x, $n) *
                        pow($y, $n) - 1)) /
                           ($x * $y - 1);
 
    return $sum1 + $sum2;
}
 
// Driver code
$x = 2;
$y = 2;
$n = 2;
 
// function call to print sum
echo sum($x, $y, $n);
 
// This code is contributed
// by Shashank_Sharma
?>

Javascript

<script>
// java script program to find the
// sum of series
 
// Function to return required sum
function sum(x, y, n)
{
    //sum of first series
    sum1 = (Math.pow(x, 2) *
            (Math.pow(x, 2 * n) - 1)) /
            (Math.pow(x, 2) - 1);
 
    // sum of second series
    sum2 = (x * y * (Math.pow(x, n) *
                        Math.pow(y, n) - 1)) /
                           (x * y - 1);
 
    return sum1 + sum2;
}
 
// Driver code
let x = 2;
let y = 2;
let n = 2;
 
// function call to print sum
document.write(sum(x, y, n));
 
// This code is contributed
// by bobby
</script>
Producción: 

40

 

Complejidad de tiempo: O(log(n))
 

Publicación traducida automáticamente

Artículo escrito por Sanjit_Prasad 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 *