Solving f(n)= (1) + (2*3) + (4*5*6) … n using Recursion

 
Example :

Input : 2
Output: 7
Series: (1) + (2*3)

Input : 4
Output: 5167
Series: (1) + (2*3) + (4*5*6) + (7*8*9*10) 


CPP

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP Program to print the solution
// of the series f(n)= (1) + (2*3)
// + (4*5*6) ... n using recursion
#include<bits/stdc++.h>
using namespace std;
  
// Recursive function for 
// finding sum of series
// calculated - number of terms till 
//           which sum of terms has 
//           been calculated
// current - number of terms for which 
//           sum has to becalculated
// N         - Number of terms in the 
//           function to be calculated
int seriesSum(int calculated, int current, 
                            int N) 
{
    int i, cur = 1;
  
    // checking termination condition
    if (current == N + 1) 
        return 0;
  
    // product of terms till current
    for (i = calculated; i < calculated + 
                            current; i++)
        cur *= i; 
  
    // recursive call for adding
    // terms next in the series
    return cur + seriesSum(i, current + 1, N); 
}
  
// Driver Code
int main()
{
    // input number of terms in the series
    int N = 5; 
  
    // invoking the function to
    // calculate the sum
    cout<<seriesSum(1, 1, N)<<endl; 
  
    return 0;
}

chevron_right


C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C Program to print the solution
// of the series f(n)= (1) + (2*3)
// + (4*5*6) ... n using recursion
#include <stdio.h>
  
// Recursive function for 
// finding sum of series
// calculated - number of terms till 
//                which sum of terms has 
//              been calculated
// current - number of terms for which 
//             sum has to becalculated
// N         - Number of terms in the 
//             function to be calculated
int seriesSum(int calculated, int current, 
                              int N) 
{
    int i, cur = 1;
  
    // checking termination condition
    if (current == N + 1) 
        return 0;
  
    // product of terms till current
    for (i = calculated; i < calculated + 
                            current; i++)
        cur *= i; 
  
    // recursive call for adding
    // terms next in the series
    return cur + seriesSum(i, current + 1, N); 
}
  
// Driver Code
int main()
{
    // input number of terms in the series
    int N = 5; 
  
    // invoking the function to
    // calculate the sum
    printf("%d\n", seriesSum(1, 1, N)); 
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to print the
// solution of the series
// f(n)= (1) + (2*3) + (4*5*6) 
// ... n using recursion 
  
class GFG
{
      
    /**
    * Recursive method for finding 
    * sum of series
    *
    * @param calculated number of terms 
    * till which sum of terms has been 
    * calculated @param current number of
    * terms for which sum has to be calculated.
    * @param N Number of terms in the function 
    * to be calculated @return sum
    */
      
    static int seriesSum(int calculated, 
                         int current, 
                         int N) 
    {
        int i, cur = 1;
      
        // checking termination condition
        if (current == N + 1
            return 0;
      
        // product of terms till current
        for (i = calculated; i < calculated + 
                                current; i++)
            cur *= i; 
      
        // recursive call for adding 
        // terms next in the series
        return cur + seriesSum(i, current + 1, N); 
    }
      
    // Driver Code
    public static void main(String[] args) 
    {
        // input number of 
        // terms in the series
        int N = 5
      
        // invoking the method 
        // to calculate the sum
        System.out.println(seriesSum(1, 1, N)); 
    }
}

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to print the 
// solution of the series 
// f(n)= (1) + (2*3) + (4*5*6)
// ... n using recursion 
using System;
  
class GFG 
{
      
    // Recursive function for 
    // finding sum of series
    // calculated - number of terms till  
    //                which sum of terms
    //              has been calculated
    // current    - number of terms for which 
    //                sum has to be calculated
    // N         - Number of terms in the  
    //               function to be calculated
    static int seriesSum(int calculated, 
                         int current, 
                         int N) 
    {
          
        int i, cur = 1;
      
        // checking termination condition
        if (current == N + 1) 
            return 0;
      
        // product of terms till current
        for (i = calculated; i < calculated + 
                                current; i++)
            cur *= i; 
      
        // recursive call for adding terms
        // next in the series
        return cur + seriesSum(i, current + 1, N); 
    }
      
    // Driver Code
    public static void Main() 
    {
          
        // input number of terms
        // in the series
        int N = 5; 
      
        // invoking the method to
        // calculate the sum
        Console.WriteLine(seriesSum(1, 1, N)); 
    }
}
  
// This code is contributed by vt_m.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP Program to print the 
// solution of the series
// f(n)= (1) + (2*3) + (4*5*6) 
// ... n using recursion
  
// Recursive function for 
// finding sum of series
// calculated - number of terms till 
//                which sum of terms 
//              has been calculated
// current -    number of terms for 
//                which sum has to be 
//              calculated
// N         - Number of terms in the 
//             function to be calculated
function seriesSum($calculated, $current, $N
{
    $i; $cur = 1;
  
    // checking termination condition
    if ($current == $N + 1) 
        return 0;
  
    // product of terms till current
    for ($i = $calculated; $i < $calculated
                              $current; $i++)
        $cur *= $i
  
    // recursive call for adding
    // terms next in the series
    return $cur + seriesSum($i, $current + 1, $N); 
}
  
// Driver code
  
// input number of 
// terms in the series
$N = 5; 
  
// invoking the function
// to calculate the sum
echo(seriesSum(1, 1, $N)); 
  
// This code is contributed by Ajit.
?>

chevron_right


Output :

365527 

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above



My Personal Notes arrow_drop_up

Improved By : jit_t, SURENDRA_GANGWAR