Hub Of Geekz

  • Home
  • About Me
  • Contact Us
  • Home
  • Languages
    • C++
    • Java
    • Perl
    • Prolog
    • Bootstrap
  • Database
    • SQL
    • PL/SQL
  • Study
    • Java
      • Java Collection
      • Java Concurrency
      • Java Interview Questions
      • Java Networking
    • Number System
  • Kavita
  • Entertainment
    • Hinglish Cafe
    • Videos
    • Jokes
  • Windows Tricks
  • How To

Sunday, 1 March 2015

Factorial of a number in Java

 Earthcare Foundation NGO     10:27     Java     No comments   

In this post i will explain how to write a program to get the factorial of a given number.I have written two programs.First one uses for loop to find the factorial and second one uses recursion.But before that i will explain how to find the factorial.
Suppose number is 4.Then to find out factorial of any given number we will multiply it with (number-1) until number becomes 1.Since the factorial of 1 is 1 So we end the procedure there.
factorial(4)=4*3*2*1
                =24
factorial(5)=5*4*3*2*1
                 =120
So in this way we can find out the factorial of any given number.

So in the following program, I am taking the input from user in main method and then called the getFactorial() function which takes the number as argument.In method getFactorial(), I have taken a local variable res  which will hold the result.Then i started a for loop in i am multiplying the number with res and after each iteration the value of i is decremented by 1.


Program Code:
package Progs;

import java.util.Scanner;

public class Factorial {

    private static int getFactorial(int number){
        int res=1;
        for(int i=number;i>=1;i--){
            res=res*i;
        }
        return res;
    }
    public static void main(String[] args) {
       
        System.out.println("Enter the number to calculate its factorial");
        Scanner sc=new Scanner(System.in);
        int number=sc.nextInt();
        int result=getFactorial(number);
        System.out.println("Factorial of given number is "+result);
    }

}

Output:
Enter the number to calculate its factorial
4
Factorial of given number is 24
Suppose number=4
for 1st iteration,
i=4       res=1
res=1* 4
     =4

for 2nd iteration,
i=3     res=4
res= 4*3
     =12

for 3rd iteration,
i=2       res=12
res=12*2
     =24

for 4th iteration,
i=1       res=4
res=24*1
     =24

for 5th iteration,
i=0   res=24
it will exit from for loop 

The following program is a recursion based program.
Program Code:
package Progs;

import java.util.Scanner;

public class Factorial_Rcursion {

    private static int getFactorial(int number) {
        int res=number;
        if(number==0)
            return 1;
        res=res*getFactorial(number-1);
        return res;
    }
    public static void main(String[] args) {
        System.out.println("Enter the number to calculate its factorial");
        Scanner sc=new Scanner(System.in);
        int number=sc.nextInt();
        int result=getFactorial(number);
        System.out.println("Factorial of given number is "+result);

    }   

}

Output:
Enter the number to calculate its factorial
5
Factorial of given number is 120


 In getFactorial()  method again i have taken a local variable which will hold the result.Then i have checked for exit condition i.e.if number==1 and after that i have written a expression which will calculate the factorial of number recursively
res=res*getFactorial(number-1);

Suppose number=4
Then
res=4*getFactorial(3)
then method will be called again until getFactorial(1) where first condition will be satisfied it will be returned to its previous call and factorial will be calculated.
res=4*3*2*getFactorial(1)
      =4*3*2*1
      =24

So in this way we can calculate the Factorial of any given number.
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Ad


Jobsmag.inIndian Education BlogThingsGuide

Subscribe

Do you want fresh and hot updates about us? Then subscribe to our Feeds.

Total Pageviews

Popular Posts

  • Write a program in PL/SQL to print the factorial of a number.
    In this post I will explain how to get the factorial of any given number. For that first you need to know what is the procedure to find ...
  • To find the GCD of two numbers in PROLOG.
    gcd(X,Y):-X=Y,write('GCD of two numbers is '),write(X); X=0,write('GCD of two numbers is '),write(Y); Y=0,write('G...
  • Write a PL/SQL code to get the Fibonacci Sequence
    First, I will explain what is Fibonacci Sequence and how to get this series. So, Fibonacci Sequence is a series of numbers 0,1,1,2,3,5,8,1...

Label

All Articles Best Resources Blogging Boost Traffic Bootstrap C Plus Plus Collection Comedy Comedy Posts Comedy Videos Concurrency creative commons website Education Employee Entertainment Fibonacci Sequence free images GirlFriend Hinglish Cafe How To Image Websites Inspirational Java Java Interview Questions Java Networking Kavita Sangrah Life Lock Sreen Love Number System Patterns Perl Picture PL/SQL Plastic Engineering Programming Prolog public domain SEO Servlet Short Story Shortcut Keys Social Media Social Services SQL SuVichar Thread Traffic True Events Ultimate Guide Windows Tricks Windows8.1 WordPress

Blog Archive

  • ►  2020 (43)
    • ►  September (41)
    • ►  August (2)
  • ►  2019 (1)
    • ►  July (1)
  • ►  2018 (9)
    • ►  September (7)
    • ►  July (1)
    • ►  May (1)
  • ►  2017 (8)
    • ►  June (3)
    • ►  May (3)
    • ►  March (1)
    • ►  January (1)
  • ►  2016 (2)
    • ►  September (1)
    • ►  January (1)
  • ▼  2015 (91)
    • ►  December (1)
    • ►  November (1)
    • ►  October (6)
    • ►  May (10)
    • ▼  March (20)
      • ArrayList Methods in Java
      • ArrayList Methods in Java
      • ArrayList in Java
      • Arrays Class in Java
      • Java Interview Question-Variable length arguments ...
      • Array in Java
      • Data Hierarchy in Operating Systems
      • Synchronization in Java
      • Typecasting in Java
      • Concurrency in Java
      • Runnable in Java
      • HashMap in Java
      • Reverse of a given number using Java
      • Star Pattern printing in Java
      • Difference between fail-fast and fail-safe iterators
      • Factorial of a number in Java
      • Null in Java
      • Final in Java
      • Immutable Objects in Java
      • Thread concept in java
    • ►  February (50)
    • ►  January (3)
  • ►  2014 (339)
    • ►  December (1)
    • ►  October (55)
    • ►  September (58)
    • ►  August (94)
    • ►  July (64)
    • ►  June (67)
  • ►  2013 (34)
    • ►  August (5)
    • ►  April (29)
  • ►  2012 (20)
    • ►  November (1)
    • ►  October (15)
    • ►  September (4)

Author

  • Earthcare Foundation NGO
  • Kavita house
  • Unknown
  • Unknown

Info

Copyright © Hub Of Geekz | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates