In the previous article, we have discussed about Java Program to Display the Sum of Series (1+2)/(1*2) + (1+2+3)/(1*2*3) + …… + (1+2+3+…+N)/(1*2*3*…*N)
In this article we are going to see how to print the sum of series 1! + 2! + 3! + 4! + ….. + N! by using Java programming language
Java Program to Print the Sum of Series 1! + 2! + 3! + 4! + ….. + N!
In this series the it can be seen that numbers at each position i
, the term is calculated as the factorial of i
.
For example:
If at 3rd position the term is 3! = 6 and the sum up to 3rd position will be 1! + 2! + 3! = 1 + 2 + 6 = 9. Here, we for each we have to find the factorial of the number and add it to the sum.
Let’s see how to print the series.
Method-1: Java Program to Print the Sum of Series 1! + 2! + 3! + 4! + ….. + N! By Using User Input Value
Approach:
- Create Scanner class object.
- Prompt the user to enter a number.
- Initialize a variable sum to 0 of long data type(for larger values, int data type may overflow).
- Run a for loop
i=1 to n
. - Inside the loop, initialize variable long fact = 1
- Use another nested loop
j=1 to i
to find the factorial. - Inside the nested loop, update fact as
fact *= j
. - Outside the inner loop and inside the outer loop, update sum as
sum = sum + fact
.
Program:
import java.util.Scanner; public class Main { public static void main(String[] args) { // create a Scanner object Scanner sc = new Scanner(System.in); // prompt the user to enter the number of terms System.out.print("Enter the number of terms: "); int n = sc.nextInt(); // call the method to print the series long sum = 0; for (int i = 1; i <= n; i++) { long fact = 1; for (int j = 1; j <= i; j++) { fact *= j; } sum += fact; } System.out.print("The sum of the series is: " + sum); } }
Output: Enter the number of terms: 3 The sum of the series is: 9
Method-2: Java Program to Print the Sum of Series 1! + 2! + 3! + 4! + ….. + N! By Using User Defined Method
Approach:
- Use the same approach as method 1 but move the nested loop inside a user-defined method
Program:
import java.util.Scanner; public class Main { public static void main(String[] args) { // create a Scanner object Scanner sc = new Scanner(System.in); // prompt the user to enter the number of terms System.out.print("Enter the number of terms: "); int n = sc.nextInt(); // call the method to print the series long sum = 0; for (int i = 1; i <= n; i++) { sum += fact(i); } System.out.print("The sum of the series is: " + sum); } private static long fact(int i) { long fact = 1; for (int j = 1; j <= i; j++) { fact *= j; } return fact; } }
Output: Enter the number of terms: 5 The sum of the series is: 153
Method-3: Java Program to Print the Sum of Series 1! + 2! + 3! + 4! + ….. + N! By Calculating Factorial Value Using Recursion
Approach:
Use the same approach as method 2 but the user-defined method will calculate the factorial value recursively.
- Define a method called fact which returns a double value take ‘
n
’ as an argument of int data type. - Inside the recursive method, check if (n == 1), return 1 (base condition).
- Else return
n*fact(n-1)
Program:
import java.util.Scanner; public class Main { public static void main(String[] args) { // create a Scanner object Scanner sc = new Scanner(System.in); // prompt the user to enter the number of terms System.out.print("Enter the number of terms: "); int n = sc.nextInt(); // call the method to print the series long sum = 0; for (int i = 1; i <= n; i++) { sum += fact(i); } System.out.print("The sum of the series is: " + sum); } // method to calculate factorial recursively private static long fact(int n) { // base condition if (n == 1) return 1; return n * fact(n-1); } }
Output: Enter the number of terms: 7 The sum of the series is: 5913
Explore complete java concepts from the Java programming examples and get ready to become a good programmer and crack the java software developer interview with ease.
Related Java Programs: