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) 

C++

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


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

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

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up