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++
// 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. ?> |
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 C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.