Skip to content
Related Articles
Open in App
Not now

Related Articles

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

Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 16 Feb, 2023
Improve Article
Save Article
Like Article

  
Example : 

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

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

 

Recommended Practice

 

C++




// 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;
}


C




// 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;
}


Java




// 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)); 
    }
}


Python3




# Python3 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
def seriesSum(calculated, current, N): 
  
    i = calculated; 
    cur = 1;
  
    # checking termination condition
    if (current == N + 1): 
        return 0;
  
    # product of terms till current
    while (i < calculated + current):
        cur *= i;
        i += 1;
  
    # 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
print(seriesSum(1, 1, N)); 
  
# This code is contributed by mits


C#




// 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.


PHP




<?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.
?>


Javascript




<script>
  
// JavaScript Program to print the
// solution of the series
// f(n)= (1) + (2*3) + (4*5*6) 
// ... n using recursion
  
/**
    * 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
    */
        
    function seriesSum(calculated, 
                         current, N) 
    {
        let 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
        let N = 5; 
        
        // invoking the method 
        // to calculate the sum
        document.write(seriesSum(1, 1, N)); 
      
    // This code is contributed by target_2.
</script>


Output : 
 

365527 

Time Complexity: O(n2)

Auxiliary Space: O(n)
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
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!